1. 程式人生 > >圖像處理和圖像識別中常用的OpenCV函數

圖像處理和圖像識別中常用的OpenCV函數

split 異或操作 () dap npr entity awd sed normal

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函數