pyqt圆形label显示摄像头

简介: pyqt圆形label显示摄像头

pyqt圆形label显示摄像头:


如何使用pyqt5是上打开摄像头并在label上显示,以及优化成圆形label框。

在label显示打开的摄像头原理其实在label显示图片差不多,最多就是多一个定时器来不停的刷label更新图片。代码部分就是:

self.cap = cv2.VideoCapture(0)
self.video_update_timer = QTimer()
self.video_update_timer.timeout.connect(self.video_update)
self.video_update_timer.start(30)
def video_update(self):
  ret, frame = self.cap.read()
  if ret:
    self.img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        qimg = qimage2ndarray.array2qimage(self.img)
        self.video_label.setPixmap(QPixmap(qimg))  # 注意修改video_label为自己的label名称
        self.video_label.show()  # 注意修改video_label为自己的label名称

默认的label都是矩形的,如果只是单纯改变样式,是无法实现效果的,原因很简单,你ui初始化的时候是圆的。但是图片是方方正正的,所以最后显示的还是方方正正的label。

那么如何把图片变成圆的呢?


opencv里面有掩膜操作,我们只需要通过掩膜的操作得到含有圆形的图片,最后在加入第四透明通道,我们的圆形图片就做完了,然后使用 setpixmap 到label上面就我们实现的效果

下面是我部分掩膜操作的代码

        opencv = cv2.imread('./resource/1231.jpg')
        # todo 指定黑色范围
        minGreen = np.array([-1, -1, -1])
        maxGreen = np.array([10, 10, 10])
        # todo 确定黑色范围
        mask = cv2.inRange(opencv, minGreen, maxGreen)
        # todo 确定非黑色范围
        self.mask_not = cv2.bitwise_not(mask)
        # todo 通过掩码控制的按位与运算锁定白色区域

这个代码是我的一个学长交给我的,现在把他写出来。

喜欢的可以留下点赞和关注。


相关文章
|
2月前
|
机器学习/深度学习 算法 Linux
Yolov5水果分类识别+pyqt交互式界面
Yolov5水果分类识别+pyqt交互式界面
189 1
|
2月前
|
开发框架 开发者 Python
探索Python GUI编程:从Tkinter到PyQt的全方位使用
在当今技术发展日新月异的时代,Python作为一种简洁高效的编程语言,拥有广泛的应用领域。其中,GUI(图形用户界面)编程是Python开发者经常涉足的领域之一。本文将介绍两个常用的Python GUI库——Tkinter和PyQt,并深入探讨其使用方法、特点以及适用场景,帮助读者全面了解Python GUI编程的魅力。
|
2月前
|
Python
PyQt绘制股票K线多图Y坐标对齐
PyQt绘制股票K线多图Y坐标对齐
101 0
|
8月前
|
Python
pyqt 重写关闭窗口事件代码
pyqt 重写关闭窗口事件代码
54 0
|
8月前
|
存储 Python
PySide2 Pyqt 解决pyinstaller打包图片资源的问题
PySide2 Pyqt 解决pyinstaller打包图片资源的问题
61 0
|
2月前
|
数据可视化 Linux C++
Python GUI编程:Tkinter与PyQt的选择
Python作为一门流行的编程语言,在GUI编程领域也有着非常强大的工具。其中,Tkinter和PyQt是两个备受推崇的GUI库。本文将介绍这两个库的优缺点,并帮助读者决定应该选择哪一个。
|
2月前
|
前端开发 Python
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
132 0
|
9月前
|
网络协议 Linux iOS开发
【100天精通python】Day40:GUI界面编程_PyQt 从入门到实战(完)_网络编程与打包发布
【100天精通python】Day40:GUI界面编程_PyQt 从入门到实战(完)_网络编程与打包发布
107 0
|
2月前
|
Python
PyQt---------信号与槽函数的关系
PyQt---------信号与槽函数的关系
19 1
|
2月前
|
Python
PyQt中资源文件的使用(详细步骤介绍)
PyQt中资源文件的使用(详细步骤介绍)
39 1