19.1.6--获取并显示USB摄像头实时视频

来自https://www.cnblogs.com/neo-T/p/6426029.html

#-*- coding: utf-8 -*-

import cv2
import sys
from PIL import Image

def CatchUsbVideo(window_name, camera_idx):
    
    # 创建窗口显示图像,window_name用来区分不同的窗口,并被显示为窗口标题
    cv2.namedWindow(window_name)
    
    #视频来源,可以来自一段已存好的视频,也可以直接来自USB摄像头
    cap = cv2.VideoCapture(camera_idx)        
        
    while cap.isOpened():
        ok, frame = cap.read() #读取一帧数据,ok表示返回的状态  frame存储着图像数据矩阵 mat类型的
        if not ok:            
            break                    
                        
        #显示图像并等待10毫秒按键输入,输入‘q’退出程序
        cv2.imshow(window_name, frame)
        c = cv2.waitKey(10)
        if c & 0xFF == ord('q'):
            break        
    
    #释放摄像头并销毁所有窗口
    cap.release()
    cv2.destroyAllWindows() 
    
if __name__ == '__main__':
    if len(sys.argv) != 2:
        print("Usage:%s camera_id\r\n" % (sys.argv[0]))
    else:
        CatchUsbVideo("截取视频流", int(sys.argv[1]))

猜你喜欢

转载自blog.csdn.net/qq_35399846/article/details/85928052