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

本文介绍了一个Python脚本,利用OpenCV库从USB摄像头捕获视频流并实时显示。通过调用cv2.VideoCapture函数指定摄像头索引,然后在循环中读取每一帧并展示,直到用户按下'q'键退出。该脚本适用于需要从外部设备获取视频源的应用场景。

来自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]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值