基礎知識
# cap.set(propId, value) # 設置視頻參數: propId - 設置的視頻參數, value - 設置的參數值 # cap.isOpened() 返回 true/false, 檢查攝像頭初始化是否成功 # cap.read() """ 返回兩個值 先返回一個布爾值, 如果視頻讀取正確, 則為 True, 如果錯誤, 則為 False; 也可用來判斷是否到視頻末尾; 再返回一個值, 為每一幀的圖像, 該值是一個三維矩陣; 通用接收方法為: ret,frame = cap.read(); ret: 布爾值; frame: 圖像的三維矩陣; 這樣 ret 存儲布爾值, frame 存儲圖像; 若使用一個變量來接收兩個值, 如: frame = cap.read() 則 frame 為一個元組, 原來使用 frame 處需更改為 frame[1] """ #cv2.waitKey(1) 讀取按鍵,每幀數據延時 1ms, 延時為0, 讀取的是靜態幀 #cv2.imwrite("test.jpg", img_camera)保存圖像 #釋放攝像頭 cap.release()
#銷毀窗口 cv2.destroyAllWindows()
1、代碼案例
# coding = utf-8 import cv2 import os import shutil def useCamera(): # 獲取攝像頭 capture = cv2.VideoCapture(0) capture.set(3, 480) while capture.isOpened(): # 攝像頭打開,讀取圖像 flag, image = capture.read() cv2.imshow("image", image) k = cv2.waitKey(1) if k == ord('s'): cv2.imwrite("test.jpg", image) elif k == ord("q"): break # 釋放攝像頭 capture.release() # 關閉所有窗口 cv2.destroyAllWindows() if __name__ == '__main__': useCamera()
完畢!