總結幾個常用個函數的使用
cv2.show()
這個函數的作用簡單,就是現實圖片,這個時候需要穿進去兩個參數。
cv2.imshow('顯示窗口名稱',圖像數組)
顯示窗口的名稱寫在雙引號裏,後面加上圖像數組,這裏就是使用cv2.imread
函數讀取的數據下面就是例子
import cv2
img=cv2.imread('cat.jpg')
cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey()
cv2.waitKey(delay)
這是一個鍵盤綁定函數。它的參數是以毫秒爲單位的時間。函數將等待指定的毫秒以等待任何鍵盤事件。如果在這段時間內按任何鍵,程序將繼續。如果0被傳遞,它將無限期地等待鍵筆劃。它還可以設置爲檢測特定的按鍵筆畫。具體可以看下面的代碼。
import cv2#導入cv2
image = cv2.imread('MyPic.png')#讀入一副圖片
cv2.imshow('MyPic.png',image)#展示圖片同時等等案件鍵入。這裏64與32位機器會有所不同這裏是64位
k = cv2.waitKey(0) & 0xFF
if k == 27: # wait for ESC key to exit
cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
cv2.imwrite('MyNewPic.png',image)
cv2.destroyAllWindows()
cv2.VideoCapture()
- cv2.VideoCapture可以捕獲攝像頭,用數字來控制不同的設備,例如0,1。
- 如果是視頻文件,直接指定好路徑即可。
這裏應該是返回一個cap(數值),讀取他,返回兩個。第一個參數是布爾值,第二個參數是返回的一幀一幀的圖。這裏一般延時25ms,基本就滿足要求了。
官方的教程將沒采集的幀圖像進行了灰度轉換,這裏也可以去掉就是我們正常的畫面了。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(25) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()