美文网首页
Python在windows环境下调用摄像头

Python在windows环境下调用摄像头

作者: ncd | 来源:发表于2021-01-05 21:40 被阅读0次
    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)
    

    相关文章

      网友评论

          本文标题:Python在windows环境下调用摄像头

          本文链接:https://www.haomeiwen.com/subject/isfgoktx.html