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,寫入的當前幀