Python在windows環境下調用攝像頭

import numpy as np
import cv2

# 調用筆記本內置攝像頭,所以參數為0,如果有其他的攝像頭可以調整參數為1,2
cap = cv2.VideoCapture(0)
while True:
    # 從攝像頭讀取圖片
    sucess, img = cap.read()
    # 轉為灰度圖片
    if img is None:
        print("img is null")
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # 顯示攝像頭,背景是灰度。
    cv2.imshow("img", gray)
    # 保持畫面的持續。
    k = cv2.waitKey(1)
    if k == 27:
        # 通過esc鍵退出攝像
        cv2.destroyAllWindows()
        break
    elif k == ord("s"):
        # 通過s鍵保存圖片,并退出。
        cv2.imwrite("image2.jpg", img)
        cv2.destroyAllWindows()
        break
# 關閉攝像頭
cap.release()

直接運行可能會報錯

[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-cff9bdsm\opencv\modules\videoio\src\cap_msmf.cpp (677) CvCapture_MSMF::initStream Failed to set mediaType (stream 0, (640x480 @ 30) MFVideoFormat_RGB24(codec not found)

原因是格式不支持,需要修改攝像頭調用方式:
https://www.cnblogs.com/learn643794461/p/13683471.html

cap = cv2.VideoCapture(0 + cv2.CAP_DSHOW)
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容