219個 opencv 常用函數匯總,一個比一個強大!

2022-01-02 七月在線實驗室

1、cvLoadImage:將圖像文件加載至內存;

2、cvNamedWindow:在屏幕上創建一個窗口;

3、cvShowImage:在一個已創建好的窗口中顯示圖像;

4、cvWaitKey:使程序暫停,等待用戶觸發一個按鍵操作;

5、cvReleaseImage:釋放圖像文件所分配的內存;

6、cvDestroyWindow:銷毀顯示圖像文件的窗口;

7、cvCreateFileCapture:通過參數設置確定要讀入的AVI文件;

8、cvQueryFrame:用來將下一幀視頻文件載入內存;

9、cvReleaseCapture:釋放CvCapture結構開闢的內存空間;

10、cvCreateTrackbar:創建一個滾動條;

11、cvSetCaptureProperty:設置CvCapture對象的各種屬性;

12、cvGetCaptureProperty:查詢CvCapture對象的各種屬性;

13、cvGetSize:當前圖像結構的大小;

14、cvSmooth:對圖像進行平滑處理;

15、cvPyrDown:圖像金字塔,降採樣,圖像縮小為原來四分之一;

16、cvCanny:Canny邊緣檢測;

17、cvCreateCameraCapture:從攝像設備中讀入數據;

18、cvCreateVideoWriter:創建一個寫入設備以便逐幀將視頻流寫入視頻文件;

19、cvWriteFrame:逐幀將視頻流寫入文件;

20、cvReleaseVideoWriter:釋放CvVideoWriter結構開闢的內存空間;

21、CV_MAT_ELEM:從矩陣中得到一個元素;

22、cvAbs:計算數組中所有元素的絕對值;

23、cvAbsDiff:計算兩個數組差值的絕對值;

24、cvAbsDiffS:計算數組和標量差值的絕對值;

25、cvAdd:兩個數組的元素級的加運算;

26、cvAddS:一個數組和一個標量的元素級的相加運算;

27、cvAddWeighted:兩個數組的元素級的加權相加運算(alpha運算);

28、cvAvg:計算數組中所有元素的平均值;

29、cvAvgSdv:計算數組中所有元素的絕對值和標準差;

30、cvCalcCovarMatrix:計算一組n維空間向量的協方差;

31、cvCmp:對兩個數組中的所有元素運用設置的比較操作;

32、cvCmpS:對數組和標量運用設置的比較操作;

33、cvConvertScale:用可選的縮放值轉換數組元素類型;

34、cvCopy:把數組中的值複製到另一個數組中;

35、cvCountNonZero:計算數組中非0值的個數;

36、cvCrossProduct:計算兩個三維向量的向量積(叉積);

37、cvCvtColor:將數組的通道從一個顏色空間轉換另外一個顏色空間;

38、cvDet:計算方陣的行列式;

39、cvDiv:用另外一個數組對一個數組進行元素級的除法運算;

40、cvDotProduct:計算兩個向量的點積;

41、cvEigenVV:計算方陣的特徵值和特徵向量;

42、cvFlip:圍繞選定軸翻轉;

43、cvGEMM:矩陣乘法;

44、cvGetCol:從一個數組的列中複製元素;

45、cvGetCols:從數據的相鄰的多列中複製元素;

46、cvGetDiag:複製數組中對角線上的所有元素;

47、cvGetDims:返回數組的維數;

48、cvGetDimSize:返回一個數組的所有維的大小;

49、cvGetRow:從一個數組的行中複製元素值;

50、cvGetRows:從一個數組的多個相鄰的行中複製元素值;

51、cvGetSize:得到二維的數組的尺寸,以CvSize返回;

52、cvGetSubRect:從一個數組的子區域複製元素值;

53、cvInRange:檢查一個數組的元素是否在另外兩個數組中的值的範圍內;

54、cvInRangeS:檢查一個數組的元素的值是否在另外兩個標量的範圍內;

55、cvInvert:求矩陣的逆;

56、cvMahalonobis:計算兩個向量間的馬氏距離;

57、cvMax:在兩個數組中進行元素級的取最大值操作;

58、cvMaxS:在一個數組和一個標量中進行元素級的取最大值操作;

59、cvMerge:把幾個單通道圖像合併為一個多通道圖像;

60、cvMin:在兩個數組中進行元素級的取最小值操作;

61、cvMinS:在一個數組和一個標量中進行元素級的取最小值操作;

62、cvMinMaxLoc:尋找數組中的最大最小值;

63、cvMul:計算兩個數組的元素級的乘積(點乘);

64、cvNot:按位對數組中的每一個元素求反;

65、cvNormalize:將數組中元素進行歸一化;

66、cvOr:對兩個數組進行按位或操作;

67、cvOrs:在數組與標量之間進行按位或操作;

68、cvReduce:通過給定的操作符將二維數組簡為向量;

69、cvRepeat:以平鋪的方式進行數組複製;

70、cvSet:用給定值初始化數組;

71、cvSetZero:將數組中所有元素初始化為0;

72、cvSetIdentity:將數組中對角線上的元素設為1,其他置0;

73、cvSolve:求出線性方程組的解;

74、cvSplit:將多通道數組分割成多個單通道數組;

75、cvSub:兩個數組元素級的相減;

76、cvSubS:元素級的從數組中減去標量;

77、cvSubRS:元素級的從標量中減去數組;

78、cvSum:對數組中的所有元素求和;

79、cvSVD:二維矩陣的奇異值分解;

80、cvSVBkSb:奇異值回代計算;

81、cvTrace:計算矩陣跡;

82、cvTranspose:矩陣的轉置運算;

83、cvXor:對兩個數組進行按位異或操作;

84、cvXorS:在數組和標量之間進行按位異或操作;

85、cvZero:將所有數組中的元素置為0;

86、cvConvertScaleAbs:計算可選的縮放值的絕對值之後再轉換數組元素的類型;

87、cvNorm:計算數組的絕對範數, 絕對差分範數或者相對差分範數;

88、cvAnd:對兩個數組進行按位與操作;

89、cvAndS:在數組和標量之間進行按位與操作;

90、cvScale:是cvConvertScale的一個宏,可以用來重新調整數組的內容,並且可以將參數從一種數據類型轉換為另一種;

91、cvT:是函數cvTranspose的縮寫;

92、cvLine:畫直線;

93、cvRectangle:畫矩形;

94、cvCircle:畫圓;

95、cvEllipse:畫橢圓;

96、cvEllipseBox:使用外接矩形描述橢圓;

97、cvFillPoly、cvFillConvexPoly、cvPolyLine:畫多邊形;

98、cvPutText:在圖像上輸出一些文本;

99、cvInitFont:採用一組參數配置一些用於屏幕輸出的基本個特定字體;

100、cvSave:矩陣保存;

101、cvLoad:矩陣讀取;

102、cvOpenFileStorage:為讀/寫打開存儲文件;

103、cvReleaseFileStorage:釋放存儲的數據;

104、cvStartWriteStruct:開始寫入新的數據結構;

105、cvEndWriteStruct:結束寫入數據結構;

106、cvWriteInt:寫入整數型;

107、cvWriteReal:寫入浮點型;

108、cvWriteString:寫入字符型;

109、cvWriteComment:寫一個XML或YAML的注釋字串;

110、cvWrite:寫一個對象;

111、cvWriteRawData:寫入多個數值;

112、cvWriteFileNode:將文件節點寫入另一個文件存儲器;

113、cvGetRootFileNode:獲取存儲器最頂層的節點;

114、cvGetFileNodeByName:在映圖或存儲器中找到相應節點;

115、cvGetHashedKey:為名稱返回一個惟一的指針;

116、cvGetFileNode:在映圖或文件存儲器中找到節點;

117、cvGetFileNodeName:返回文件的節點名;

118、cvReadInt:讀取一個無名稱的整數型;

119、cvReadIntByName:讀取一個有名稱的整數型;

120、cvReadReal:讀取一個無名稱的浮點型;

121、cvReadRealByName:讀取一個有名稱的浮點型;

122、cvReadString:從文件節點中尋找字符串;

123、cvReadStringByName:找到一個有名稱的文件節點並返回它;

124、cvRead:將對象解碼並返回它的指針;

125、cvReadByName:找到對象並解碼;

126、cvReadRawData:讀取多個數值;

127、cvStartReadRawData:初始化文件節點序列的讀取;

128、cvReadRawDataSlice:讀取文件節點的內容;

129、cvGetModuleInfo:檢查IPP庫是否已經正常安裝並且檢驗運行是否正常;

130、cvResizeWindow:用來調整窗口的大小;

131、cvSaveImage:保存圖像;

132、cvMoveWindow:將窗口移動到其左上角為x,y的位置;

133、cvDestroyAllWindow:用來關閉所有窗口並釋放窗口相關的內存空間;

134、cvGetTrackbarPos:讀取滑動條的值;

135、cvSetTrackbarPos:設置滑動條的值;

136、cvGrabFrame:用於快速將視頻幀讀入內存;

137、cvRetrieveFrame:對讀入幀做所有必須的處理;

138、cvConvertImage:用於在常用的不同圖像格式之間轉換;

139、cvErode:形態腐蝕;

140、cvDilate:形態學膨脹;

141、cvMorphologyEx:更通用的形態學函數;

142、cvFloodFill:漫水填充算法,用來進一步控制哪些區域將被填充顏色;

143、cvResize:放大或縮小圖像;

144、cvPyrUp:圖像金字塔,將現有的圖像在每個維度上都放大兩倍;

145、cvPyrSegmentation:利用金字塔實現圖像分割;

146、cvThreshold:圖像閾值化;

147、cvAcc:可以將8位整數類型圖像累加為浮點圖像;

148、cvAdaptiveThreshold:圖像自適應閾值;

149、cvFilter2D:圖像卷積;

150、cvCopyMakeBorder:將特定的圖像輕微變大,然後以各種方式自動填充圖像邊界;

151、cvSobel:圖像邊緣檢測,Sobel算子;

152、cvLaplace:拉普拉斯變換、圖像邊緣檢測;

153、cvHoughLines2:霍夫直線變換;

154、cvHoughCircles:霍夫圓變換;

155、cvRemap:圖像重映射,校正標定圖像,圖像插值;

156、cvWarpAffine:稠密仿射變換;

157、cvGetQuadrangleSubPix:仿射變換;

158、cvGetAffineTransform:仿射映射矩陣的計算;

159、cvCloneImage:將整個IplImage結構複製到新的IplImage中;

160、cv2DRotationMatrix:仿射映射矩陣的計算;

161、cvTransform:稀疏仿射變換;

162、cvWarpPerspective:密集透視變換(單應性);

163、cvGetPerspectiveTransform:計算透視映射矩陣;

164、cvPerspectiveTransform:稀疏透視變換;

165、cvCartToPolar:將數值從笛卡爾空間到極坐標(極性空間)進行映射;

166、cvPolarToCart:將數值從極性空間到笛卡爾空間進行映射;

167、cvLogPolar:對數極坐標變換;

168、cvDFT:離散傅立葉變換;

169、cvMulSpectrums:頻譜乘法;

170、cvDCT:離散餘弦變換;

171、cvIntegral:計算積分圖像;

172、cvDistTransform:圖像的距離變換;

173、cvEqualizeHist:直方圖均衡化;

174、cvCreateHist:創建一新直方圖;

175、cvMakeHistHeaderForArray:根據已給出的數據創建直方圖;

176、cvNormalizeHist:歸一化直方圖;

177、cvThreshHist:直方圖閾值函數;

178、cvCalcHist:從圖像中自動計算直方圖;

179、cvCompareHist:用於對比兩個直方圖的相似度;

180、cvCalcEMD2:陸地移動距離(EMD)算法;

181、cvCalcBackProject:反向投影;

182、cvCalcBackProjectPatch:圖塊的方向投影;

183、cvMatchTemplate:模板匹配;

184、cvCreateMemStorage:用於創建一個內存存儲器;

185、cvCreateSeq:創建序列;

186、cvSeqInvert:將序列進行逆序操作;

187、cvCvtSeqToArray:複製序列的全部或部分到一個連續內存數組中;

188、cvFindContours:從二值圖像中尋找輪廓;

189、cvDrawContours:繪製輪廓;

190、cvApproxPoly:使用多邊形逼近一個輪廓;

191、cvContourPerimeter:輪廓長度;

192、cvContoursMoments:計算輪廓矩;

193、cvMoments:計算Hu不變矩;

194、cvMatchShapes:使用矩進行匹配;

195、cvInitLineIterator:對任意直線上的像素進行採樣;

196、cvSampleLine:對直線採樣;

197、cvAbsDiff:幀差;

198、cvWatershed:分水嶺算法;

199、cvInpaint:修補圖像;

200、cvGoodFeaturesToTrack:尋找角點;

201、cvFindCornerSubPix:用於發現亞像素精度的角點位置;

202、cvCalcOpticalFlowLK:實現非金字塔的Lucas-Kanade稠密光流算法;

203、cvMeanShift:mean-shift跟蹤算法;

204、cvCamShift:camshift跟蹤算法;

205、cvCreateKalman:創建Kalman濾波器;

206、cvCreateConDensation:創建condensation濾波器;

207、cvConvertPointsHomogenious:對齊次坐標進行轉換;

208、cvFindChessboardCorners:定位棋盤角點;

209、cvFindHomography:計算單應性矩陣;

210、cvRodrigues2:羅德裡格斯變換;

211、cvFitLine:直線擬合算法;

212、cvCalcCovarMatrix:計算協方差矩陣;

213、cvInvert:計算協方差矩陣的逆矩陣;

214、cvMahalanobis:計算Mahalanobis距離;

215、cvKMeans2:K均值;

216、cvCloneMat:根據一個已有的矩陣創建一個新矩陣;

217、cvPreCornerDetect:計算用於角點檢測的特徵圖;

218、cvGetImage:CvMat圖像數據格式轉換成IplImage圖像數據格式;

219、cvMatMul:兩矩陣相乘;

本文素材來源於網絡,如有侵權聯繫刪除。

推薦系統

1、乾貨 | 基於用戶的協同過濾推薦算法原理和實現

2、超詳細丨推薦系統架構與算法流程詳解

3、推薦 :一文從0到1掌握用戶畫像知識體系

機器學習

1、從小白到大師:一文Get決策樹的分類與回歸分析

自然語言處理(NLP)

1、AI自動評審論文,CMU這個工具可行嗎?我們用它評審了下Transformer論文

2、Transformer強勢闖入CV界秒殺CNN,靠的到底是什麼"基因"

計算機視覺(CV)

1、9個小技巧讓您的PyTorch模型訓練裝上「渦輪增壓」...

GitHub開源項目:

1、火爆GitHub!3.6k Star,中文版可視化神器現身

2、兩次霸榜GitHub!這個神器不寫代碼也可以完成AI算法訓練

3、登頂GitHub大熱項目 | 非監督GAN算法U-GAT-IT大幅改進圖像轉換

每周推薦:

1、本周優秀開源項目分享:無腦套用格式、開源模板最高10萬贊

七月在線學員面經分享:

1、先工程後算法:美國加州材料博後辭職到字節40萬offer

2、 雙非應屆生拿下大廠NLP崗40萬offer:面試經驗與路線圖分享

3、轉行NLP拿下40萬offer:分享我面試中遇到的54道面試題(含參考答案)

相關焦點

  • Python+OpenCV的基礎圖像處理操作匯總
    基本圖像處理技術在本文中,我們將看到從目錄中讀取圖像、修改圖像並將其存儲在另一個目錄中的函數實現。下面是我們要討論的主要內容。通過在CMD(命令提示符)中發出以下命令來安裝opencv python(這是一個用於python的非正式預構建opencv包):opencv-contrib-python(包含main和contrib模塊)opencv-python-headless(與opencv-python相同,但沒有GUI功能)opencv-contrib-python-headless
  • 【opencv實踐】仿射變換和透視變換
    對每一個像素點坐標平移。可以讓每一個像素點的x,y坐標都加一個變量。矩陣形式表示:等式左邊[X,Y,1]是像素坐標的齊次形式。等式右邊是平移之後的坐標。放縮進行放縮,就是將矩形(圖像)放縮n倍,也就是長寬各乘一個變量。
  • 超全的pandas數據分析常用函數總結:下篇
    為了更好地學習數據分析,我對於數據分析中pandas這一模塊裡面常用的函數進行了總結。整篇總結,在詳盡且通俗易懂的基礎上,我力求使其有很強的條理性和邏輯性,所以製作了思維導圖,對於每一個值得深究的函數用法,我也會附上官方連結,方便大家繼續深入學習。
  • Ubuntu下安裝OpenCV(七): 4.x的安裝與配置
    This feature is not officially supported since 4.x version and is disabled by default.{OpenCV_SOURCE_DIR}指的是OpenCV核心算法文件夾的路徑:
  • Ubuntu下安裝OpenCV(八): 2.x的安裝與配置
    出現問題的原因我目前還沒找到官方的答案,匯總各種帖子裡的回答,可以總結為:Ubuntu18.04默認使用的編譯工具、默認下載的安裝包版本都比較高,一些舊的API、使用的策略(Policies)在新版本中已經被棄用,某些函數、宏定義也有了變化。
  • Python pandas模塊21個常用操作可視化
    Pandas 的目標是成為 Python 數據分析實踐與實戰的必備高級工具,其長遠目標是成為最強大、最靈活、可以支持任何語言的開源數據分析工具。經過多年不懈的努力,Pandas 離這個目標已經越來越近了。下面對pandas常用的功能進行一個可視化的介紹,希望能讓大家更容易理解和學習pandas。
  • 28、 OpenCV直方圖均衡化
    最常用的技術是直方圖均衡化。直方圖均衡化背後的基礎數學涉及將一個分布映射到另一個分布。也就是說希望在新分布中儘可能均勻地分布原始分布的值。事實證明,映射函數應該是累積分布函數。可以使用累積分布函數將原始分布重新映射到均勻分布,只需在原始分布中查找每個值並查看均衡分布中應該去的位置。對於連續分布,結果將是精確的均衡,但對於數位化/離散分布,結果可能遠不一致。
  • [OpenCV實戰]45 基於OpenCV實現圖像哈希算法
    基於OpenCV實現圖像哈希算法目前有許多算法來衡量兩幅圖像的相似性,本文主要介紹在工程領域最常用的圖像相似性算法評價算法:圖像哈希算法(img hash)。圖像哈希算法通過獲取圖像的哈希值並比較兩幅圖像的哈希值的漢明距離來衡量兩幅圖像是否相似。兩幅圖像越相似,其哈希值的漢明距離越小,通過這種方式就能夠比較兩幅圖像是否相似。
  • 匯總|MySQL常用數據類型
    同其他語言一樣,也有自己的數據類型,下面為大家介紹一下mysql常用的數據類型:1、數值類型MySQL支持所有標準SQL數值數據類型。每個時間類型有一個有效值範圍和一個"零"值,當指定不合法的MySQL不能表示的值時使用"零"值。TIMESTAMP類型有專有的自動更新特性,將在後面描述。
  • 5分鐘速覽python正則表達式常用函數
    本文不過多展開正則表達式相關語法,僅簡要介紹python中正則表達式常用函數及其使用方法,以作快速查詢瀏覽。Re模塊是python的內置模塊,提供了正則表達式在python中的所有用法,默認安裝位置在python根目錄下的Lib文件夾(如 ..\Python\Python37\Lib)。
  • OpenCV Python + Tesseract-OCR輕鬆實現中文識別
    安裝opencv-python開發包pip install opencv-python安裝Tesseract-OCR Python SDK支持下載Tesseract-OCR 5.0.0-alpha.20201127安裝包並安裝!
  • OpenCV G-API:1. 簡介
    下面我們先看一個Sobel邊緣檢測的例子來對G-API有個大致的印象,然後說一下OpenCV為什麼要引入G-API。        傳統的OpenCV實現:#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/highgui.hpp"int main(int argc, char *argv[]){
  • OpenCV基礎知識入門
    該庫是一個跨平臺的開源庫,是免費使用的。OpenCV庫是一個高度優化的庫,主要關注實時應用程式。https://code.visualstudio.com/download現在,我們將創建一個虛擬環境,並在其中安裝opencv。打開終端,然後使用cd定位到桌面,使用mkdir 創建一個名為opencv的文件夾,然後運行以下命令。
  • OpenCV簡介及安裝
    OpenCV的全稱是Open Source Computer Vision Library,是一個跨平臺的計算機視覺和機器學習軟體庫。OpenCV是由英特爾公司發起並參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。支持的作業系統:Linux、Windows、Android和Mac OS。
  • Linux 運維人員最常用 150 個命令匯總
    命令功能說明線上查詢及幫助命令 (2 個)man查看命令幫助,命令的詞典,更複雜的還有 info,但不常用。help查看 Linux 內置命令的幫助,比如 cd 命令。sudo以另外一個用戶身份(默認 root 用戶)執行事先在 sudoers 文件允許的命令。基礎網絡操作命令(11 個)telnet使用 TELNET 協議遠程登錄。ssh使用 SSH 加密協議遠程登錄。
  • C# 中使用opencv處理圖像
    OpenCV(Open Source Computer Vision Library)是一個
  • OpenCV 3.0之後三年半,OpenCV 4.0出爐
    至此,OpenCV 已經走過了近 18 個年頭。OpenCV 是英特爾開源的跨平臺計算機視覺庫。也就是說,它是一套包含從圖像預處理到預訓練模型調用等大量視覺 API 的庫,並可以處理圖像識別、目標檢測、圖像分割和行人再識別等主流視覺任務。OpenCV 最顯著的特點是它提供了整套流程的工具,因此我們根本不需要了解各個模型的原理就能一個個 API 構建視覺任務。
  • 基於OpenCV實戰:3步實現圖像降噪
    在這個項目中,我們將使用三個Python軟體包:OpenCV,Matplotlib和NumPy。OpenCV是一個非常知名的計算機視覺工具包。非局部均值去噪算法選擇一個像素,在其周圍取一個小窗口,掃描圖像中的相似窗口,對所有窗口取平均值,然後計算結果以替換該像素。該算法被稱為非本地算法,因為它搜索整個圖像以找到相互聯繫,而不僅僅是在單個區域周圍。
  • OpenCV常用圖像拼接方法(二) :基於模板匹配拼接
    OpenCV常用圖像拼接方法將分為四部分與大家分享,這裡是第二種方法,歡迎關注後續,本文源碼與素材連結位於文章末尾
  • OpenCV3.x中UMat介紹與使用
    API函數,但是代表的意義卻太不一樣。要說到UMat對象的來龍去脈,必須首先從OpenCL來開始說,OpenCL是一個面向異構系統通用的並行編程標準,這個標準最早是蘋果公司提出,後來變成了一個國際標準,目的是通過它開發通用的GPU計算軟體,中國的華為是該標準的成員之一。說的直白點就是如果CPU或者GPU支持OpenCL標準,就可以通過OpenCL相關編程實現使用GPU計算。