圖像處理和圖像識別中常用的OpenCV函數
1. cvLoadImage:將圖像文件加載至內存;
2. cvNamedWindow:在屏幕上創建一個窗口;
3. cvDestroyWindow:銷毀顯示圖像文件的窗口;
4. cvDestroyAllWindows:銷毀顯示圖像文件的所有窗口;
5. cvShowImage:在一個已創建好的窗口中顯示圖像;
6. cvWaitKey:使程序暫停,等待用戶觸發一個按鍵操作;
7. cvReleaseImage:釋放圖像文件所分配的內存;
8. cvCreateFileCapture:通過參數設置確定要讀入的AVI文件;
9. cvQueryFrame:用來將下一幀視頻文件載入內存;
10. cvReleaseCapture:釋放CvCapture結構開辟的內存空間;
11. cvCreateTrackbar:創建一個滾動條;
12. cvSetCaptureProperty:設置CvCapture對象的各種屬性;
13. cvGetCaptureProperty:查詢CvCapture對象的各種屬性;
14. cvGetSize:當前圖像結構的大小;
15. cvSmooth:對圖像進行平滑處理;
16. cvPyrDown:圖像金字塔,降采樣,圖像縮小為原來四分之一;
17. cvPyrUp:圖像金字塔,將現有的圖像在每個維度上都放大兩倍;
18. cvResize:放大或縮小圖像;
19. cvCreateCameraCapture:從攝像設備中讀入數據;
20. cvCreateVideoWriter:創建一個寫入設備以便逐幀將視頻流寫入視頻文件;
21. cvWriteFrame:逐幀將視頻流寫入文件;
22. cvReleaseVideoWriter:釋放CvVideoWriter結構開辟的內存空間;
23. CV_MAT_ELEM:從矩陣中得到一個元素;
24. cvAbs:計算數組中所有元素的絕對值;
25. cvAbsDiff:計算兩個數組差值的絕對值;
26. cvAbsDiffS:計算數組和標量差值的絕對值;
27. cvAdd:兩個數組的元素級的加運算;
28. cvAddS:一個數組和一個標量的元素級的相加運算;
29. cvAddWeighted:兩個數組的元素級的加權相加運算(alpha運算);
30. cvScaleAdd:計算一個數組縮放後與另一個數組的和;
31. cvAvg:計算數組中所有元素的平均值;
32. cvAvgSdv:計算數組中所有元素的絕對值和標準差;
33. cvCalcCovarMatrix:計算一組n維空間向量的協方差;
34. cvCmp:對兩個數組中的所有元素運用設置的比較操作;
35. cvCmpS:對數組和標量運用設置的比較操作;
36. cvConvertScale(cvConvert):用可選的縮放值轉換數組元素類型;
37. cvCopy:把數組中的值復制到另一個數組中;
38. cvCountNonZero:計算數組中非0值的個數;
39. cvCrossProduct:計算兩個三維向量的向量積(叉積);
40. cvCvtColor:將數組的通道從一個顏色空間轉換另外一個顏色空間;
41. cvDet:計算方陣的行列式;
42. cvDotProduct:計算兩個向量的點積;
43. cvEigenVV:計算方陣的特征值和特征向量;
44. cvFlip:圍繞選定軸翻轉;
45. cvGEMM:矩陣乘法;
46. cvGetCol:從一個數組的列中復制元素;
47. cvGetCols:從數據的相鄰的多列中復制元素;
48. cvGetDiag:復制數組中對角線上的所有元素;
49. cvGetDims:返回數組的維數;
50. cvGetDimSize:返回一個數組的所有維的大小;
51. cvGetRow:從一個數組的行中復制元素值;
52. cvGetRows:從一個數組的多個相鄰的行中復制元素值;
53. cvGetSize:得到二維的數組的尺寸,以CvSize返回;
54. cvGetSubRect:從一個數組的子區域復制元素值;
55. cvInRange:檢查一個數組的元素是否在另外兩個數組中的值的範圍內;
56. cvInRangeS:檢查一個數組的元素的值是否在另外兩個標量的範圍內;
57. cvInvert:求矩陣的逆;
58. cvMahalonobis:計算兩個向量間的馬氏距離;
59. cvMax:在兩個數組中進行元素級的取最大值操作;
60. cvMaxS:在一個數組和一個標量中進行元素級的取最大值操作;
61. cvMin:在兩個數組中進行元素級的取最小值操作;
62. cvMinS:在一個數組和一個標量中進行元素級的取最小值操作;
63. cvMinMaxLoc:尋找數組中的最大最小值;
64. cvMul:計算兩個數組的元素級的乘積(點乘);
65. cvDiv:用另外一個數組對一個數組進行元素級的除法運算;
66. cvNormalize:將數組中元素進行歸一化;
67. cvReduce:通過給定的操作符將二維數組簡為向量;
68. cvRepeat:以平鋪的方式進行數組復制;
69. cvSet:用給定值初始化數組;
70. cvSetZero:將數組中所有元素初始化為0;
71. cvSetIdentity:將數組中對角線上的元素設為1,其他置0;
72. cvSolve:求出線性方程組的解;
73. cvSplit:將多通道數組分割成多個單通道數組;
74. cvMerge:把幾個單通道圖像合並為一個多通道圖像;
75. cvSub:兩個數組元素級的相減;
76. cvSubS:元素級的從數組中減去標量;
77. cvSubRS:元素級的從標量中減去數組;
78. cvSum:對數組中的所有元素求和;
79. cvSVD:二維矩陣的奇異值分解;
80. cvSVBkSb:奇異值回代計算;
81. cvTrace:計算矩陣跡;
82. cvTranspose:矩陣的轉置運算;
83. cvNot:按位對數組中的每一個元素求反;
84. cvOr:對兩個數組進行按位或操作;
85. cvOrs:在數組與標量之間進行按位或操作;
86. cvXor:對兩個數組進行按位異或操作;
87. cvXorS:在數組和標量之間進行按位異或操作;
88. cvAnd:對兩個數組進行按位與操作;
89. cvAndS:在數組和標量之間進行按位與操作;
90. cvZero:將所有數組中的元素置為0;
91. cvConvertScaleAbs:計算可選的縮放值的絕對值之後再轉換數組元素的類型;
92. cvNorm:計算數組的絕對範數, 絕對差分範數或者相對差分範數;
93. cvScale:是cvConvertScale的一個宏,可以用來重新調整數組的內容,並且可以將參數從一種數據類型轉換為另一種;
94. cvT:是函數cvTranspose的縮寫;
95. cvLine:畫直線;
96. cvRectangle:畫矩形;
97. cvCircle:畫圓;
98. cvEllipse:畫橢圓;
99. cvEllipseBox:使用外接矩形描述橢圓;
100.cvFillPoly、cvFillConvexPoly、cvPolyLine:畫多邊形;
101.cvPutText:在圖像上輸出一些文本;
102.cvGetTextSize:計算文本串的寬和高;
103.cvInitFont:采用一組參數配置一些用於屏幕輸出的基本個特定字體;
104.cvSave:矩陣保存;
105.cvLoad:矩陣讀取;
106.cvOpenFileStorage:為讀/寫打開存儲文件;
107.cvReleaseFileStorage:釋放存儲的數據;
108.cvStartWriteStruct:開始寫入新的數據結構;
109.cvEndWriteStruct:結束寫入數據結構;
110.cvWriteInt:寫入整數型;
111.cvWriteReal:寫入浮點型;
112.cvWriteString:寫入字符型;
113.cvWriteComment:寫一個XML或YAML的註釋字串;
114.cvWrite:寫一個對象;
115.cvWriteRawData:寫入多個數值;
116.cvWriteFileNode:將文件節點寫入另一個文件存儲器;
117.cvGetRootFileNode:獲取存儲器最頂層的節點;
118.cvGetFileNodeByName:在映圖或存儲器中找到相應節點;
119.cvGetHashedKey:為名稱返回一個惟一的指針;
120.cvGetFileNode:在映圖或文件存儲器中找到節點;
121.cvGetFileNodeName:返回文件的節點名;
122.cvReadInt:讀取一個無名稱的整數型;
123.cvReadIntByName:讀取一個有名稱的整數型;
124.cvReadReal:讀取一個無名稱的浮點型;
125.cvReadRealByName:讀取一個有名稱的浮點型;
126.cvReadString:從文件節點中尋找字符串;
127.cvReadStringByName:找到一個有名稱的文件節點並返回它;
128.cvRead:將對象解碼並返回它的指針;
129.cvReadByName:找到對象並解碼;
130.cvReadRawData:讀取多個數值;
131.cvStartReadRawData:初始化文件節點序列的讀取;
132.cvReadRawDataSlice:讀取文件節點的內容;
133.cvGetModuleInfo:檢查IPP庫是否已經正常安裝並且檢驗運行是否正常;
134.cvResizeWindow:用來調整窗口的大小;
135.cvSaveImage:保存圖像;
136.cvMoveWindow:將窗口移動到其左上角為x,y的位置;
137.cvDestroyAllWindow:用來關閉所有窗口並釋放窗口相關的內存空間;
138.cvGetTrackbarPos:讀取滑動條的值;
139.cvSetTrackbarPos:設置滑動條的值;
140.cvGrabFrame:快速的從攝像頭或視頻文件中抓取幀,被抓取的幀在內部被存儲;
141.cvRetrieveFrame:取回由函數cvGrabFrame抓取的圖像,返回的圖像不可以被用戶釋放或者修改;
142.cvConvertImage:用於在常用的不同圖像格式之間轉換;
143.cvErode:形態學腐蝕;
144.cvDilate:形態學膨脹;
145.cvMorphologyEx:更通用的形態學函數;
146.cvCreateStructuringElementEx:創建自定義的IplConvKernel核,應用在相應形態學操作中;
147.cvReleaseStructuringElement:釋放由自定義創建的IplConvKernel核;
148.cvFloodFill:漫水填充算法,用來進一步控制哪些區域將被填充顏色;
149.cvPyrSegmentation:利用金字塔實現圖像分割;
150.cvThreshold:圖像閾值化;
151.cvAcc:可以將8位整數類型圖像累加為浮點圖像;
152.cvAdaptiveThreshold:圖像自適應閾值;
153.cvFilter2D:圖像卷積;
154.cvCopyMakeBorder:將特定的圖像輕微變大,然後以各種方式自動填充圖像邊界;
155.cvCanny:Canny邊緣檢測;
156.cvSobel:圖像邊緣檢測,Sobel算子;
157.cvLaplace:拉普拉斯變換、圖像邊緣檢測;
158.cvHoughLines2:霍夫直線變換;
159.cvHoughCircles:霍夫圓變換;
160.cvWarpAffine:稠密仿射變換;
161.cvGetQuadrangleSubPix:仿射變換(提取像素四邊形,使用子像素精度);
162.cvGetRectSubPix:從圖像中提取像素矩形,使用子像素精度;
163.cvGetAffineTransform:仿射映射矩陣的計算;
164.cvCloneImage:將整個IplImage結構復制到新的IplImage中;
165.cv2DRotationMatrix:仿射映射矩陣的計算;
166.cvTransform:稀疏仿射變換;
167.cvWarpPerspective:密集透視變換(單應性);
168.cvGetPerspectiveTransform:計算透視映射矩陣;
169.cvPerspectiveTransform:稀疏透視變換;
170.cvCartToPolar:將數值從笛卡爾空間到極坐標(極性空間)進行映射;
171.cvPolarToCart:將數值從極性空間到笛卡爾空間進行映射;
172.cvLogPolar:對數極坐標變換;
173.cvDFT:離散傅裏葉變換;
174.cvMulSpectrums:頻譜乘法;
175.cvDCT:離散余弦變換;
176.cvIntegral:計算積分圖像;
177.cvDistTransform:圖像的距離變換;
178.cvEqualizeHist:直方圖均衡化;
179.cvCreateHist:創建一新直方圖;
180.cvReleaseHist:釋放創建的直方圖;
181.cvMakeHistHeaderForArray:根據已給出的數據創建直方圖;
182.cvNormalizeHist:歸一化直方圖;
183.cvThreshHist:直方圖閾值函數;
184.cvCalcHist:從圖像中自動計算直方圖;
185.cvCompareHist:用於對比兩個直方圖的相似度;
186.cvCalcEMD2:陸地移動距離(EMD)算法;
187.cvCalcBackProject:反向投影;
188.cvCalcBackProjectPatch:圖塊的方向投影;
189.cvMatchTemplate:模板匹配;
190.cvCreateMemStorage:用於創建一個內存存儲器;
191.cvCreateSeq:創建序列;
192.cvSeqInvert:將序列進行逆序操作;
193.cvCvtSeqToArray:復制序列的全部或部分到一個連續內存數組中;
194.cvFindContours:從二值圖像中尋找輪廓;
195.cvDrawContours:繪制輪廓;
196.cvApproxPoly:使用多邊形逼近一個輪廓;
197.cvConvexHull2:使用Sklansky算法計算2D點集的凸外形;
198.cvPointPolygonTest:點在多邊形中的位置(內部、外部、多邊形邊上);
199.cvContourPerimeter:輪廓長度;
200.cvContoursMoments:計算輪廓矩;
201.cvMoments:計算Hu不變矩;
202.cvMatchShapes:使用矩進行匹配;
203.cvInitLineIterator:對任意直線上的像素進行采樣;
204.cvSampleLine:對直線采樣;
205.cvAbsDiff:幀差;
206.cvWatershed:分水嶺算法;
207.cvInpaint:修補圖像;
208.cvGoodFeaturesToTrack:尋找角點;
209.cvCornerHarris:Harris角點檢測;
210.cvFindCornerSubPix:用於發現亞像素精度的角點位置;
211.cvMeanShift:mean-shift跟蹤算法;
212.cvCamShift:camshift跟蹤算法;
213.cvCreateConDensation:condensation算法,分配condensation濾波器結構;
214.cvReleaseConDensation:condensation算法,釋放condensation濾波器結構;
215.cvConDensInitSampleSet:condensation算法,初始化condensation算法中的粒子集;
216.cvConDensUpdateByTime:condensation算法,估計下個模型狀態;
217.cvConvertPointsHomogenious:對齊次坐標進行轉換;
218.cvFindChessboardCorners:定位棋盤角點;
219.cvCalibrateCamera2:利用定標來計算攝像機的內參數和外參數;
220.cvInitUndistortMap:計算形變和非行變圖像的對應;
221.cvInitUndistortRectifyMap:computes the undistortion and rectification transformation map;
222.cvRemap:圖像重映射,校正標定圖像,圖像插值;
223.cvFindFundamentalMat:由兩幅圖像中對應點計算出基本矩陣;
224.cvComputeCorrespondEpilines:為一幅圖像中的點計算其在另一幅圖像中對應的對極線;
225.cvDrawChessboardCorners:繪制檢測到的棋盤角點;
226.cvFindHomography:計算單應性矩陣;
227.cvRodrigues2:羅德裏格斯變換;
228.cvFitLine:直線擬合算法;
229.cvCalcCovarMatrix:計算協方差矩陣;
230.cvInvert:計算協方差矩陣的逆矩陣;
231.cvMahalanobis:計算Mahalanobis距離;
232.cvKMeans2:K均值;
233.cvCloneMat:根據一個已有的矩陣創建一個新矩陣;
234.cvPreCornerDetect:計算用於角點檢測的特征圖;
235.cvGetImage:CvMat圖像數據格式轉換成IplImage圖像數據格式;
236.cvMatMul:兩矩陣相乘;
237.cvMatMulAdd:dst = src1 * src2 + src3;
238.cvRound:返回和參數最接近的整數值;
239.cvFloor:返回不大於參數的最大整數值;
240.cvCeil:返回不小於參數的最小整數值;
241.cvCreateImage:創建圖像;
242.cvSetMouseCallback:用鼠標獲取確定窗口上的矩形;
243.cvContourArea:計算整個或部分輪廓的面積;
244.cvArcLength:計算輪廓周長或曲線長度;
245.cvBoundingRect:計算點集的最外面矩形邊界(獲取輪廓的外接矩形);
246.cvSeqRemove:刪除序列中指定位置的元素(輪廓);
247.cvGetTickCount:返回64位長整數的時間數據;
248.cvGetTickFrequency:返回系統時鐘頻率;
249.cvRNG:隨機生成一個64位隨機數(uint64);
250.cvRandInt:返回均勻分布32位的隨機數(uint32);
251.cvRandReal:返回均勻分布0~1之間的隨機小數;
252.cvRandArr:用隨機數填充數組並更新RNG狀態;
253.cvRandInit:初始化CvRandState數據結構,可以選定隨機分布的種類,並給定它種子;
254.cvInitMatHeader:初始化矩陣頭,不分配存儲空間;
255.cvTermCriteria:叠代算法終止準則;
256.CvSVMParams:SVM訓練參數,該結構需要初始化,並傳遞給CvSVM訓練函數;
257.CvSVM::train:訓練SVM(支持向量機);
258.CvSVM::predict:預測一個新樣本的響應值,在分類問題中,這個函數返回類別編號,在回歸問題中,返回函數值;
259.cvSet2D:修改指定的數組;
260.CvSVM::get_support_vector_count:獲得支持向量的個數;
261.CvSVM::get_support_vector:獲得對應索引編號的支持向量;
262.CvSVM::save:將SVM訓練完的數據保存到指定的文件中(save來源於cvStatModel為ML庫的通用類);
263.CvSVM::load:將指定的文件裝載到SVM指定的對象中;
264.cvCreateBGCodeBookModel:codebook方法中,初始化;
265.cvBGCodeBookUpdate:codebook方法中,更新背景模型;
266.cvBGCodeBookClearStale:codebook方法中,清除消極的codebook;
267.cvBGCodeBookDiff:codebook方法中,背景減除;
268.cvReleaseBGCodeBookModel:codebook方法中,釋放資源;
269.cvSegmentFGMask:對前景做連通域分割;
270.cvRunningAvg:更新running average,可用於運動目標檢測中更新背景;
271.cvCalcOpticalFlowHS:使用Horn&Schunck算法計算兩幅圖像的光流;
272.cvCalcOpticalFlowLK:使用Lucas&Kanade算法計算兩幅圖像的光流(非金字塔);
273.cvCalcOpticalFlowPyrLK:使用金字塔Lucas&Kanade方法計算一個稀疏特征集的光流;
274.cvCalcOpticalFlowBM:用塊匹配方法計算兩幅圖像的光流;
275.cvUpdateMotionHistory:運動模板中,去掉影像以更新運動歷史圖像;
276.cvRunningAvg:更新running average滑動平均;
277.cvCalcMotionGradient:運動模板中,計算運動歷史圖像的梯度方向;
278.cvSegmentMotion:運動模板中,將整個運動分割為獨立的運動部分;
279.cvCalcGlobalOrientation:運動模板中,計算某些選擇區域的全局運動方向;
280.cvGetMinMaxHistValue:直方圖中找到最小值和最大值;
281.cvMinAreaRect2:尋找最小面積的外接矩形;
282.cvMinEnclosingCircle:計算輪廓的最小外接圓;
283.cvFitEllipse2:獲取輪廓的橢圓邊界框;
284.cvMaxRect:尋找包含兩個輸入矩形的具有最小面積的矩形邊界;
285.cvBoxPoints:尋找盒子的頂點;
286.cvCreateKalman:Kalman中,分配Kalman濾波器結構;
287.cvReleaseKalman:Kalman中,釋放Kalman濾波器結構;
288.cvKalmanPredict:Kalman中,估計後來的模型狀態;
289.cvKalmanCorrect:Kalman中,調節模型狀態;
290.cvLoadHaarClassifierCascade:CvHaarClassifierCascade中,從文件中裝載訓練好的級聯分類器或者從OpenCV中嵌入的分類器數據庫中導入;
291.cvHaarDetectObjects:CvHaarClassifierCascade中,檢測圖像中的目標;
292.cvSetImageForHaarClassifierCascade:CvHaarClassifierCascade中,為隱藏的cascade(hidden cascade)指定圖像;
293.cvReleaseHaarClassifierCascade:CvHaarClassifierCascade中,釋放haar classifier cascade;
294.cvRunHaarClassifierCascade:CvHaarClassifierCascade中,在給定位置的圖像中運行cascade of boosted classifier;
295.CvAdaptiveSkinDetector::process:皮膚檢測;
296.cvCalcEigenObjects:計算傳入影像陣列的eigen vector、eigen value、image average(影像平均值);
297.cvEigenDecomposite:透過eigen vector和原始影像集來解析每張圖片降維後對應的系數coefficients;
298.cvEigenProjection:投影圖片在特征空間;
299.cvAlloc:分配內存;
300.cvFree:釋放內存(cvAlloc與cvFree應匹配出現);
301.CvANN_MLP::create:constructs MLP(multi-layer perceptrons) withthe specified topology;
302.CvANN_MLP::train:trains/updates MLP;
303.CvANN_MLP::predict:predicts responses for input samples;
304.CvANN_MLP::get_layer_count:returns the number fo layers in the MLP;
305.CvANN_MLP::get_layer_size:returns numbers of neurons in each layer ofthe MLP;
306.CvANN_MLP::get_weights:returns neurons weights of the particularlayer;
307.CvKNearest::CvKNearest:default and training constructors;
308.CvKNearest::train:trains the model;
309.CvKNearest::find_nearest:finds the neighbors and predicts responses forinput vectors;
310.CvKNearest::get_max_k:returns the number of maximum neighbors thatmay be passed to the method CvKNearest::find_nearest();
311.CvKNearest::get_var_count:returns the number of used features(variablescount);
312.CvKNearest::get_sample_count:returns the total number of train samples;
313.CvKNearest::is_regression:returns type of the problem(true forregression and false for classification);
314.cvGetSeqElem:returns a pointer to a sequenceelement according to its index;
315.cvGetReal2D:return a specific element ofsingle-channel 2D array;
316.cvSqrt:計算平方根;
317.cvPow:對數組內每個元素求冪;
318.cvCbrt:計算立方根;
319.cvExp:計算數組元素的指數冪;
320.cvLog:計算每個數組元素的絕對值的自然對數;
321.cvSetImageROI:設置感興趣區域;
322.cvResetImageROI:釋放感興趣區域;
323.cvSetImageCOI:設置感興趣通道;
324.cvLUT:顯示查找表,實際上就是一張像素灰度值的映射表,它將實際采樣到的像素灰度值經過一定的變換如閾值、反轉、二值化、對比度調整、線性變換等,變成了另外一個與之對應的灰度值;
325. class FeatureDetector:abstract base class for 2D image feature detectors;
326. class FastFeatureDetector:wrapping class for feature detection using the FAST() method;
327. class SURF(SurfFeatureDetector、SurfDescriptorExtractor):extracting Speeded Up RobustFeatures from an image;
328. class SIFT(SiftFeatureDetector):extracting keypoints and computingdescriptors using the Scale Invariant Feature Transform(SIFT) algorithm;
329.cvExtractSURF:detects keypoints andcomputes SURF descriptors for them;
再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow
圖像處理和圖像識別中常用的OpenCV函數