OpenCV函式庫查詢手冊(持續更新)
cv2.imread
原型:imread(filename,flags=None)
作用:讀取影象
引數:filename,讀取的圖片檔名。flags,讀取標誌位。
引數名稱 | 作用 |
---|---|
IMREAD_ANYCOLOR | 按原影象顏色格式讀取 |
IMREAD_ANYDEPTH | 按原影象深度資訊讀取,非16位或32位的則轉化為8位 |
IMREAD_COLOR | 轉化為三通道影象 |
IMREAD_GRAYSCALE | 轉化為灰度圖(8位),dtype=CV_8UC1 |
IMREAD_UNCHAGED | 原樣讀取,不改變影象資訊 |
cv2.imwrite
原型:imwrite(filename,img,params=None)
作用:寫入影象
引數:filename,寫入的檔名。img,待寫入的影象。params,特定格式下儲存的引數編碼,一般情況下為None。
cv2.imshow
原型:imshow(winname,mat)
作用:建立一個影象視窗
引數:winname,視窗名稱。mat,影象矩陣。
cv2.waitKey
原型:waitKey(delay=None)
作用;接受一個按鍵事件並返回按鍵的ASCII碼。
引數:delay為按下後返回的延遲時間。
cv2.destroyWindow
原型: destroyWindow(winname)
作用:關閉一個由imshow產生的影象視窗
引數:winname,關閉的視窗名字
cv2.destroyAllWindows
原型:destroyAllWindows()
作用:關閉所有由imshow產生的視窗
cv2.blur
原型:blur(src,ksize,dst=None,anchor=None,borderType=None)
作用:對影象進行算術平均值模糊
引數:ksize,卷積核的大小。dst,若填入dst,則將影象寫入到dst矩陣。
cv2.medianBlur
原型:mediaBlur(src,ksize,dst=None)
作用:對影象進行中值模糊
cv2.GaussianBlur
原型:GaussianBlur(src,ksize,sigmaX,dst=None,sigmaY=None,borderType=None)
作用:對影象進行高斯模糊
引數:sigmaX,X方向上的方差,一般設為0讓系統自動計算。
cv2.cvtColor
原型:cvtColor(src,code,dst=None,dstCn=None)
作用:將一幅影象從一個色彩空間轉換到另一個色彩空間
引數:code,轉換的色彩空間,取值如下:
cv2.Laplacian
原型:Laplacian(src,ddepth,dst=None,ksize=None,scale=None,delta=None,borderType=None)
作用:檢測影象邊緣。
引數:ddepth,影象位深度,對於灰度圖來說,其值為:cv2.CV_8U。ksize,希望使用的卷積核的大小。scale,是縮放導數的比例常數。
cv2.Sobel
原型: Sobel(src,ddepth,dx,dy,dst=None,ksize=None,scale=None,delta=None,borderType=None)
作用:對影象進行Sobel運算元計算。檢測出其邊緣。
引數:dx,x方向上的導數階數;dy,y方向上的導數階數。
cv2.threshold
原型:threshold(src,thresh,maxval,type,dst=None)
作用:將影象的每個畫素點進行二值化
引數:thresh,閾值值。maxval,二值化的最大取值。type,二值化型別,一般設為0。
也可以取以下的值:
返回值:計算過後的閾值值和二值化後的影象(如果dst是None)
VideoCapture 類
cv2.VideoCapture
原型:VideoCapture(*args,**kwargs)
作用:初始化VideoCapture類並利用建構函式讀入該視訊的當前幀。
引數:一般僅填入一個,即檔名。如果填入整數,則開啟對應的捕獲裝置ID。若為0,則開啟預設攝像頭。
VideoCapture.get
原型:VideoCapture.get(self,propld)
作用:返回該視訊的propld所指定的屬性
引數:propld,為需要讀取的視訊屬性引數位,一般以cv2.CAP_PROP_ 開頭
引數名稱 | 作用 |
---|---|
CV_CAP_PROP_POS_MSEC | 當前視訊檔案的時間位置(返回毫秒)或視訊捕獲時間戳 |
CV_CAP_PROP_POS_FRAMES | 從0開始的解碼/捕獲時間幀 |
CV_CAP_PROP_POS_AVI_RATIO | 返回視訊檔案的相關位置:0,視訊開始。1,視訊結束 |
CV_CAP_PROP_FRAME_WIDTH | 視訊流中的幀寬 |
CV_CAP_PROP_FRAME_HEIGHT | 視訊流中的幀高 |
CV_CAP_PROP_FPS | 幀率 |
CV_CAP_PROP_FOURCC | 返回解碼方式中的四字元 |
CV_CAP_PROP_FRAME_COUNT | 視訊檔案的總幀數 |
CV_CAP_PROP_FORMAT | 由retrieve()函式返回的矩陣物件的格式 |
CV_CAP_PROP_MODE | 用於預測當前捕獲模式的後端專用值 |
CV_CAP_PROP_BRIGHTNESS | 影象的亮度(僅用於攝像頭) |
CV_CAP_PROP_CONTRAST | 影象的對比度(僅用於攝像頭) |
CV_CAP_PROP_SATURATION | 影象的飽和度(僅用於攝像頭) |
CV_CAP_PROP_HUE | 影象的色調(僅用於攝像頭) |
CV_CAP_PROP_GAIN | 影象增益(僅用於攝像頭) |
CV_CAP_PROP_EXPOSURE | 曝光度(僅用於攝像頭) |
CV_CAP_PROP_CONVERT_RGB | 用於預測影象是否應該被轉換為RGB的布林位 |
CV_CAP_PROP_WHITE_BALANCE | 白平衡(當前不支援) |
CV_CAP_PROP_RECTIFICATION | 立體相機的糾正位 |
VideoCapture.isOpened
引數:無
作用:判斷裝置/檔案是否讀取成功,若成功,返回True
VideoCapture.release
引數:無
作用:關閉檔案/攝像頭
VideoCapture.read
引數:無
返回值:bool,numpy.array
作用:讀取該檔案/攝像頭的下一幀,成功與否由bool返回值決定,返回的幀矩陣為第二個引數
VideoWriter類
cv2.VideoWriter
原型:cv2.VideoWriter(*args,**kwargs)
引數:第一個,寫入的視訊檔名。第二個,由cv2.VideoWriter_fourcc返回的視訊制式特定程式碼,通常有XVID,MPEG等。第三個,該視訊的fps。第四個,一個tuple,為該視訊的寬、高。
引數名稱 | 解釋 |
---|---|
CV_FOURCC(‘P’, ‘I’, ‘M’, ‘1’) | MPEG-1 codec |
CV_FOURCC(‘M’, ‘J’, ‘P’, ‘G’) | motion-jpeg codec |
CV_FOURCC(‘M’, ‘P’, ‘4’, ‘2’) | MPEG-4.2 codec |
CV_FOURCC(‘D’, ‘I’, ‘V’, ‘3’) | MPEG-4.3 codec |
CV_FOURCC(‘D’, ‘I’, ‘V’, ‘X’) | MPEG-4 codec |
CV_FOURCC(‘U’, ‘2’, ‘6’, ‘3’) | H263 codec |
CV_FOURCC(‘I’, ‘2’, ‘6’, ‘3’) | H263I codec |
CV_FOURCC(‘F’, ‘L’, ‘V’, ‘1’) | FLV1 codec |
CV_FOURCC(‘X’, ‘V’, ‘I’, ‘D’) | MPEG-4 decode |
VideoWriter.write
原型:VideoCapture.write(image)
作用:將當前幀內容寫入視訊檔案
引數:image,寫入的當前幀