219個(gè)opencv常用函數(shù)匯總
轉(zhuǎn)載自 | 新機(jī)器視覺
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。
1、cvLoadImage:將圖像文件加載至內(nèi)存;
2、cvNamedWindow:在屏幕上創(chuàng)建一個(gè)窗口;
3、cvShowImage:在一個(gè)已創(chuàng)建好的窗口中顯示圖像;
4、cvWaitKey:使程序暫停,等待用戶觸發(fā)一個(gè)按鍵操作;
5、cvReleaseImage:釋放圖像文件所分配的內(nèi)存;
6、cvDestroyWindow:銷毀顯示圖像文件的窗口;
7、cvCreateFileCapture:通過參數(shù)設(shè)置確定要讀入的AVI文件;
8、cvQueryFrame:用來將下一幀視頻文件載入內(nèi)存;
9、cvReleaseCapture:釋放CvCapture結(jié)構(gòu)開辟的內(nèi)存空間;
10、cvCreateTrackbar:創(chuàng)建一個(gè)滾動(dòng)條;
11、cvSetCaptureProperty:設(shè)置CvCapture對(duì)象的各種屬性;
12、cvGetCaptureProperty:查詢CvCapture對(duì)象的各種屬性;
13、cvGetSize:當(dāng)前圖像結(jié)構(gòu)的大?。?/p>
14、cvSmooth:對(duì)圖像進(jìn)行平滑處理;
15、cvPyrDown:圖像金字塔,降采樣,圖像縮小為原來四分之一;
16、cvCanny:Canny邊緣檢測;
17、cvCreateCameraCapture:從攝像設(shè)備中讀入數(shù)據(jù);
18、cvCreateVideoWriter:創(chuàng)建一個(gè)寫入設(shè)備以便逐幀將視頻流寫入視頻文件;
19、cvWriteFrame:逐幀將視頻流寫入文件;
20、cvReleaseVideoWriter:釋放CvVideoWriter結(jié)構(gòu)開辟的內(nèi)存空間;
21、CV_MAT_ELEM:從矩陣中得到一個(gè)元素;
22、cvAbs:計(jì)算數(shù)組中所有元素的絕對(duì)值;
23、cvAbsDiff:計(jì)算兩個(gè)數(shù)組差值的絕對(duì)值;
24、cvAbsDiffS:計(jì)算數(shù)組和標(biāo)量差值的絕對(duì)值;
25、cvAdd:兩個(gè)數(shù)組的元素級(jí)的加運(yùn)算;
26、cvAddS:一個(gè)數(shù)組和一個(gè)標(biāo)量的元素級(jí)的相加運(yùn)算;
27、cvAddWeighted:兩個(gè)數(shù)組的元素級(jí)的加權(quán)相加運(yùn)算(alpha運(yùn)算);
28、cvAvg:計(jì)算數(shù)組中所有元素的平均值;
29、cvAvgSdv:計(jì)算數(shù)組中所有元素的絕對(duì)值和標(biāo)準(zhǔn)差;
30、cvCalcCovarMatrix:計(jì)算一組n維空間向量的協(xié)方差;
31、cvCmp:對(duì)兩個(gè)數(shù)組中的所有元素運(yùn)用設(shè)置的比較操作;
32、cvCmpS:對(duì)數(shù)組和標(biāo)量運(yùn)用設(shè)置的比較操作;
33、cvConvertScale:用可選的縮放值轉(zhuǎn)換數(shù)組元素類型;
34、cvCopy:把數(shù)組中的值復(fù)制到另一個(gè)數(shù)組中;
35、cvCountNonZero:計(jì)算數(shù)組中非0值的個(gè)數(shù);
36、cvCrossProduct:計(jì)算兩個(gè)三維向量的向量積(叉積);
37、cvCvtColor:將數(shù)組的通道從一個(gè)顏色空間轉(zhuǎn)換另外一個(gè)顏色空間;
38、cvDet:計(jì)算方陣的行列式;
39、cvDiv:用另外一個(gè)數(shù)組對(duì)一個(gè)數(shù)組進(jìn)行元素級(jí)的除法運(yùn)算;
40、cvDotProduct:計(jì)算兩個(gè)向量的點(diǎn)積;
41、cvEigenVV:計(jì)算方陣的特征值和特征向量;
42、cvFlip:圍繞選定軸翻轉(zhuǎn);
43、cvGEMM:矩陣乘法;
44、cvGetCol:從一個(gè)數(shù)組的列中復(fù)制元素;
45、cvGetCols:從數(shù)據(jù)的相鄰的多列中復(fù)制元素;
46、cvGetDiag:復(fù)制數(shù)組中對(duì)角線上的所有元素;
47、cvGetDims:返回?cái)?shù)組的維數(shù);
48、cvGetDimSize:返回一個(gè)數(shù)組的所有維的大?。?/p>
49、cvGetRow:從一個(gè)數(shù)組的行中復(fù)制元素值;
50、cvGetRows:從一個(gè)數(shù)組的多個(gè)相鄰的行中復(fù)制元素值;
51、cvGetSize:得到二維的數(shù)組的尺寸,以CvSize返回;
52、cvGetSubRect:從一個(gè)數(shù)組的子區(qū)域復(fù)制元素值;
53、cvInRange:檢查一個(gè)數(shù)組的元素是否在另外兩個(gè)數(shù)組中的值的范圍內(nèi);
54、cvInRangeS:檢查一個(gè)數(shù)組的元素的值是否在另外兩個(gè)標(biāo)量的范圍內(nèi);
55、cvInvert:求矩陣的逆;
56、cvMahalonobis:計(jì)算兩個(gè)向量間的馬氏距離;
57、cvMax:在兩個(gè)數(shù)組中進(jìn)行元素級(jí)的取最大值操作;
58、cvMaxS:在一個(gè)數(shù)組和一個(gè)標(biāo)量中進(jìn)行元素級(jí)的取最大值操作;
59、cvMerge:把幾個(gè)單通道圖像合并為一個(gè)多通道圖像;
60、cvMin:在兩個(gè)數(shù)組中進(jìn)行元素級(jí)的取最小值操作;
61、cvMinS:在一個(gè)數(shù)組和一個(gè)標(biāo)量中進(jìn)行元素級(jí)的取最小值操作;
62、cvMinMaxLoc:尋找數(shù)組中的最大最小值;
63、cvMul:計(jì)算兩個(gè)數(shù)組的元素級(jí)的乘積(點(diǎn)乘);
64、cvNot:按位對(duì)數(shù)組中的每一個(gè)元素求反;
65、cvNormalize:將數(shù)組中元素進(jìn)行歸一化;
66、cvOr:對(duì)兩個(gè)數(shù)組進(jìn)行按位或操作;
67、cvOrs:在數(shù)組與標(biāo)量之間進(jìn)行按位或操作;
68、cvReduce:通過給定的操作符將二維數(shù)組簡為向量;
69、cvRepeat:以平鋪的方式進(jìn)行數(shù)組復(fù)制;
70、cvSet:用給定值初始化數(shù)組;
71、cvSetZero:將數(shù)組中所有元素初始化為0;
72、cvSetIdentity:將數(shù)組中對(duì)角線上的元素設(shè)為1,其他置0;
73、cvSolve:求出線性方程組的解;
74、cvSplit:將多通道數(shù)組分割成多個(gè)單通道數(shù)組;
75、cvSub:兩個(gè)數(shù)組元素級(jí)的相減;
76、cvSubS:元素級(jí)的從數(shù)組中減去標(biāo)量;
77、cvSubRS:元素級(jí)的從標(biāo)量中減去數(shù)組;
78、cvSum:對(duì)數(shù)組中的所有元素求和;
79、cvSVD:二維矩陣的奇異值分解;
80、cvSVBkSb:奇異值回代計(jì)算;
81、cvTrace:計(jì)算矩陣跡;
82、cvTranspose:矩陣的轉(zhuǎn)置運(yùn)算;
83、cvXor:對(duì)兩個(gè)數(shù)組進(jìn)行按位異或操作;
84、cvXorS:在數(shù)組和標(biāo)量之間進(jìn)行按位異或操作;
85、cvZero:將所有數(shù)組中的元素置為0;
86、cvConvertScaleAbs:計(jì)算可選的縮放值的絕對(duì)值之后再轉(zhuǎn)換數(shù)組元素的類型;
87、cvNorm:計(jì)算數(shù)組的絕對(duì)范數(shù), 絕對(duì)差分范數(shù)或者相對(duì)差分范數(shù);
88、cvAnd:對(duì)兩個(gè)數(shù)組進(jìn)行按位與操作;
89、cvAndS:在數(shù)組和標(biāo)量之間進(jìn)行按位與操作;
90、cvScale:是cvConvertScale的一個(gè)宏,可以用來重新調(diào)整數(shù)組的內(nèi)容,并且可以將參數(shù)從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種;
91、cvT:是函數(shù)cvTranspose的縮寫;
92、cvLine:畫直線;
93、cvRectangle:畫矩形;
94、cvCircle:畫圓;
95、cvEllipse:畫橢圓;
96、cvEllipseBox:使用外接矩形描述橢圓;
97、cvFillPoly、cvFillConvexPoly、cvPolyLine:畫多邊形;
98、cvPutText:在圖像上輸出一些文本;
99、cvInitFont:采用一組參數(shù)配置一些用于屏幕輸出的基本個(gè)特定字體;
100、cvSave:矩陣保存;
101、cvLoad:矩陣讀取;
102、cvOpenFileStorage:為讀/寫打開存儲(chǔ)文件;
103、cvReleaseFileStorage:釋放存儲(chǔ)的數(shù)據(jù);
104、cvStartWriteStruct:開始寫入新的數(shù)據(jù)結(jié)構(gòu);
105、cvEndWriteStruct:結(jié)束寫入數(shù)據(jù)結(jié)構(gòu);
106、cvWriteInt:寫入整數(shù)型;
107、cvWriteReal:寫入浮點(diǎn)型;
108、cvWriteString:寫入字符型;
109、cvWriteComment:寫一個(gè)XML或YAML的注釋字串;
110、cvWrite:寫一個(gè)對(duì)象;
111、cvWriteRawData:寫入多個(gè)數(shù)值;
112、cvWriteFileNode:將文件節(jié)點(diǎn)寫入另一個(gè)文件存儲(chǔ)器;
113、cvGetRootFileNode:獲取存儲(chǔ)器最頂層的節(jié)點(diǎn);
114、cvGetFileNodeByName:在映圖或存儲(chǔ)器中找到相應(yīng)節(jié)點(diǎn);
115、cvGetHashedKey:為名稱返回一個(gè)惟一的指針;
116、cvGetFileNode:在映圖或文件存儲(chǔ)器中找到節(jié)點(diǎn);
117、cvGetFileNodeName:返回文件的節(jié)點(diǎn)名;
118、cvReadInt:讀取一個(gè)無名稱的整數(shù)型;
119、cvReadIntByName:讀取一個(gè)有名稱的整數(shù)型;
120、cvReadReal:讀取一個(gè)無名稱的浮點(diǎn)型;
121、cvReadRealByName:讀取一個(gè)有名稱的浮點(diǎn)型;
122、cvReadString:從文件節(jié)點(diǎn)中尋找字符串;
123、cvReadStringByName:找到一個(gè)有名稱的文件節(jié)點(diǎn)并返回它;
124、cvRead:將對(duì)象解碼并返回它的指針;
125、cvReadByName:找到對(duì)象并解碼;
126、cvReadRawData:讀取多個(gè)數(shù)值;
127、cvStartReadRawData:初始化文件節(jié)點(diǎn)序列的讀取;
128、cvReadRawDataSlice:讀取文件節(jié)點(diǎn)的內(nèi)容;
129、cvGetModuleInfo:檢查IPP庫是否已經(jīng)正常安裝并且檢驗(yàn)運(yùn)行是否正常;
130、cvResizeWindow:用來調(diào)整窗口的大??;
131、cvSaveImage:保存圖像;
132、cvMoveWindow:將窗口移動(dòng)到其左上角為x,y的位置;
133、cvDestroyAllWindow:用來關(guān)閉所有窗口并釋放窗口相關(guān)的內(nèi)存空間;
134、cvGetTrackbarPos:讀取滑動(dòng)條的值;
135、cvSetTrackbarPos:設(shè)置滑動(dòng)條的值;
136、cvGrabFrame:用于快速將視頻幀讀入內(nèi)存;
137、cvRetrieveFrame:對(duì)讀入幀做所有必須的處理;
138、cvConvertImage:用于在常用的不同圖像格式之間轉(zhuǎn)換;
139、cvErode:形態(tài)腐蝕;
140、cvDilate:形態(tài)學(xué)膨脹;
141、cvMorphologyEx:更通用的形態(tài)學(xué)函數(shù);
142、cvFloodFill:漫水填充算法,用來進(jìn)一步控制哪些區(qū)域?qū)⒈惶畛漕伾?/p>
143、cvResize:放大或縮小圖像;
144、cvPyrUp:圖像金字塔,將現(xiàn)有的圖像在每個(gè)維度上都放大兩倍;
145、cvPyrSegmentation:利用金字塔實(shí)現(xiàn)圖像分割;
146、cvThreshold:圖像閾值化;
147、cvAcc:可以將8位整數(shù)類型圖像累加為浮點(diǎn)圖像;
148、cvAdaptiveThreshold:圖像自適應(yīng)閾值;
149、cvFilter2D:圖像卷積;
150、cvCopyMakeBorder:將特定的圖像輕微變大,然后以各種方式自動(dòng)填充圖像邊界;
151、cvSobel:圖像邊緣檢測,Sobel算子;
152、cvLaplace:拉普拉斯變換、圖像邊緣檢測;
153、cvHoughLines2:霍夫直線變換;
154、cvHoughCircles:霍夫圓變換;
155、cvRemap:圖像重映射,校正標(biāo)定圖像,圖像插值;
156、cvWarpAffine:稠密仿射變換;
157、cvGetQuadrangleSubPix:仿射變換;
158、cvGetAffineTransform:仿射映射矩陣的計(jì)算;
159、cvCloneImage:將整個(gè)IplImage結(jié)構(gòu)復(fù)制到新的IplImage中;
160、cv2DRotationMatrix:仿射映射矩陣的計(jì)算;
161、cvTransform:稀疏仿射變換;
162、cvWarpPerspective:密集透視變換(單應(yīng)性);
163、cvGetPerspectiveTransform:計(jì)算透視映射矩陣;
164、cvPerspectiveTransform:稀疏透視變換;
165、cvCartToPolar:將數(shù)值從笛卡爾空間到極坐標(biāo)(極性空間)進(jìn)行映射;
166、cvPolarToCart:將數(shù)值從極性空間到笛卡爾空間進(jìn)行映射;
167、cvLogPolar:對(duì)數(shù)極坐標(biāo)變換;
168、cvDFT:離散傅里葉變換;
169、cvMulSpectrums:頻譜乘法;
170、cvDCT:離散余弦變換;
171、cvIntegral:計(jì)算積分圖像;
172、cvDistTransform:圖像的距離變換;
173、cvEqualizeHist:直方圖均衡化;
174、cvCreateHist:創(chuàng)建一新直方圖;
175、cvMakeHistHeaderForArray:根據(jù)已給出的數(shù)據(jù)創(chuàng)建直方圖;
176、cvNormalizeHist:歸一化直方圖;
177、cvThreshHist:直方圖閾值函數(shù);
178、cvCalcHist:從圖像中自動(dòng)計(jì)算直方圖;
179、cvCompareHist:用于對(duì)比兩個(gè)直方圖的相似度;
180、cvCalcEMD2:陸地移動(dòng)距離(EMD)算法;
181、cvCalcBackProject:反向投影;
182、cvCalcBackProjectPatch:圖塊的方向投影;
183、cvMatchTemplate:模板匹配;
184、cvCreateMemStorage:用于創(chuàng)建一個(gè)內(nèi)存存儲(chǔ)器;
185、cvCreateSeq:創(chuàng)建序列;
186、cvSeqInvert:將序列進(jìn)行逆序操作;
187、cvCvtSeqToArray:復(fù)制序列的全部或部分到一個(gè)連續(xù)內(nèi)存數(shù)組中;
188、cvFindContours:從二值圖像中尋找輪廓;
189、cvDrawContours:繪制輪廓;
190、cvApproxPoly:使用多邊形逼近一個(gè)輪廓;
191、cvContourPerimeter:輪廓長度;
192、cvContoursMoments:計(jì)算輪廓矩;
193、cvMoments:計(jì)算Hu不變矩;
194、cvMatchShapes:使用矩進(jìn)行匹配;
195、cvInitLineIterator:對(duì)任意直線上的像素進(jìn)行采樣;
196、cvSampleLine:對(duì)直線采樣;
197、cvAbsDiff:幀差;
198、cvWatershed:分水嶺算法;
199、cvInpaint:修補(bǔ)圖像;
200、cvGoodFeaturesToTrack:尋找角點(diǎn);
201、cvFindCornerSubPix:用于發(fā)現(xiàn)亞像素精度的角點(diǎn)位置;
202、cvCalcOpticalFlowLK:實(shí)現(xiàn)非金字塔的Lucas-Kanade稠密光流算法;
203、cvMeanShift:mean-shift跟蹤算法;
204、cvCamShift:camshift跟蹤算法;
205、cvCreateKalman:創(chuàng)建Kalman濾波器;
206、cvCreateConDensation:創(chuàng)建condensation濾波器;
207、cvConvertPointsHomogenious:對(duì)齊次坐標(biāo)進(jìn)行轉(zhuǎn)換;
208、cvFindChessboardCorners:定位棋盤角點(diǎn);
209、cvFindHomography:計(jì)算單應(yīng)性矩陣;
210、cvRodrigues2:羅德里格斯變換;
211、cvFitLine:直線擬合算法;
212、cvCalcCovarMatrix:計(jì)算協(xié)方差矩陣;
213、cvInvert:計(jì)算協(xié)方差矩陣的逆矩陣;
214、cvMahalanobis:計(jì)算Mahalanobis距離;
215、cvKMeans2:K均值;
216、cvCloneMat:根據(jù)一個(gè)已有的矩陣創(chuàng)建一個(gè)新矩陣;
217、cvPreCornerDetect:計(jì)算用于角點(diǎn)檢測的特征圖;
218、cvGetImage:CvMat圖像數(shù)據(jù)格式轉(zhuǎn)換成IplImage圖像數(shù)據(jù)格式;
219、cvMatMul:兩矩陣相乘。
雙一流高校研究生團(tuán)隊(duì)創(chuàng)建 ↓
專注于計(jì)算機(jī)視覺原創(chuàng)并分享相關(guān)知識(shí) ?
整理不易,點(diǎn)贊三連!
