opencv之調用攝像頭


基礎知識

# 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()

完畢!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM