PYQT实现使用opencv获取摄像头并在上面框选

本文介绍了如何使用PYQT和OpenCV实现摄像头流的实时预览。通过创建opencv对象并设置分辨率,利用PyQT的定时器不断更新图像到label。同时,详细阐述了鼠标事件的处理,包括点击、释放和移动事件,以实现在摄像头预览图像上进行框选操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

怎么使用PYQT和opencv

pyqt可以直接pip安装,opencv也是,但要注意这两个都不能使用太新的版本,不然两个不能兼容,后续打包上会存在问题

通过opencv获取摄像头流

首先创建一个opencv对象,我们要不断的去读取这个opencv的对象,就要不断去获取read
然后通过pyqt的超时Timer的timeout去不断调用这个获取read的方法,然后显示在pyqt的label上

    def __init__(self):
        self.cap = cv2.VideoCapture(ConfigManage.video)
        self.cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)  
        self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)

这边要指定一下分辨率,方便我们后续截图,ConfigManage.video默认是0,如果电脑上只有一个摄像头就为0,直接写入0就行,我这边的写法是从一个配置文件里获取摄像头的参数。

持续获取视频流

    def captureNextFrame(self):
        self.ret, self.read = self.cap.read()
        if (self.ret == True):
            self.video_error_state = True
            self.currentFrame = cv2.cvtColor(self.read,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值