美文网首页
python—OpenCV2中 cv2.VideoCapture

python—OpenCV2中 cv2.VideoCapture

作者: 我本无常 | 来源:发表于2018-11-19 19:25 被阅读14次
    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 1
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)#画面颜色
    # Display the resulting frame
        cv2.imshow('frame',gray)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    # When everything done, release the capture
    cap.release()
    cv2.destroyAllWindows()
    

    1、cap = cv2.VideoCapture(0)

    VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如cap = cv2.VideoCapture("../test.avi")

    2、ret,frame = cap.read()

    cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。

    3、cv2.waitKey(1),waitKey()方法本身表示等待键盘输入,

    参数是1,表示延时1ms切换到下一帧图像,对于视频而言;

    参数为0,如cv2.waitKey(0)只显示当前帧图像,相当于视频暂停,;

    参数过大如cv2.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。

    c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27,即当按esc键是if条件句成立

    4、调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。

    相关文章

      网友评论

          本文标题:python—OpenCV2中 cv2.VideoCapture

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