pyqt5 使用cv2 显示图片,摄像头的实例
作者:ShellCollector 发布时间:2023-09-28 10:33:24
标签:pyqt5,cv2,图片,摄像头
如下所示:
#! /usr/bin/python3
# coding = utf-8
# from PyQt5 import QtGui,QtCore,Qt
import sys
from PyQt5.QtCore import Qt,pyqtSignal,QSize,QRect,QMetaObject, QCoreApplication, pyqtSlot,QPropertyAnimation,QThread
from PyQt5.QtGui import QIcon, QFont, QPixmap, QPainter, QImage
from PyQt5.QtWidgets import QMainWindow, QApplication
import cv2
from gevent.libev.corecext import SIGNAL, time
from qtpy importQtCore
class mycsms(QMainWindow):
def __init__(self):
super(mycsms, self).__init__()
self.setupUi(self)
self.image= QImage()
self.device= cv2.VideoCapture(0)
self.playTimer= Timer("updatePlay()")
self.connect(self.playTimer, SIGNAL("updatePlay()"), self.showCamer)
# 读摄像头
def showCamer(self):
if self.device.isOpened():
ret, frame= self.device.read()
else:
ret = False
# 读写磁盘方式
# cv2.imwrite("2.png",frame)
#self.image.load("2.png")
height, width, bytesPerComponent= frame.shape
bytesPerLine = bytesPerComponent* width
# 变换彩色空间顺序
cv2.cvtColor(frame, cv2.COLOR_BGR2RGB,frame)
# 转为QImage对象
self.image= QImage(frame.data, width, height, bytesPerLine, QImage.Format_RGB888)
self.view.setPixmap(QPixmap.fromImage(self.image))
if __name__ == "__main__":
app = QApplication(sys.argv)
myshow = mycsms()
myshow.playTimer.start()
myshow.show()
sys.exit(app.exec_())
# 线程类:
class Timer(QtCore.QThread):
def __init__(self, signal="updateTime()", parent=None):
super(Timer, self).__init__(parent)
self.stoped= False
self.signal= signal
self.mutex= QtCore.QMutex()
def run(self):
with QtCore.QMutexLocker(self.mutex):
self.stoped= False
while True:
if self.stoped:
return
self.emit(QtCore.SIGNAL(self.signal))
#40毫秒发送一次信号
time.sleep(0.04)
def stop(self):
with QtCore.QMutexLocker(self.mutex):
self.stoped= True
def isStoped(self):
with QtCore.QMutexLocker(self.mutex):
return self.stoped
来源:https://blog.csdn.net/jacke121/article/details/78765178
0
投稿
猜你喜欢
- 计数排序找到给定序列的最小值与最大值创建一个长度为最大值-最小值+1的数组,初始化都为0然后遍历原序列,并为数组中索引为当前值-最小值的值+
- 除了常用的csv文件和excel文件之外,我们还可以通过PY把数据保存文npy文件格式和mat文件格式。1. npy文件npy即numpy对
- 一、创建虚拟环境(1)打开cmd命令窗口(2)创建虚拟环境 conda create -n mydjango_env(3)查看虚拟环境 co
- 问题概述:有时候在使用print函数输出时,往往需要不断地切换字符串和变量,操作起来很不方便,需要不断地打引号和逗号。比如:firstNam
- 作用: 构建一些简单的SQL语句,结合在提交表单时使用,可以较方便<%@LANGUAGE="VBSCRIPT&
- 本文实例讲述了php计算给定日期所在周的开始日期和结束日期。分享给大家供大家参考,具体如下:<?php/** * 取得给定日期所在周的
- 1.问:在DW中如何设置页面边距为0?答:在DW中似乎没有直接设置的方法,你只有在Html文档中插入以
- 印象中最早看老外个人网站就挺纳闷,怎么人家都没有www,这样也可以?经过不断尝试,我发现确实不录入www要快捷的多,但不清楚怎么能做到。几年
- python类class定义及其初始化定义类,功能,属性一般类名首字母大写class Calculator:#名字和价格是属性
- 由于Access数据库是一种文件型数据库,所以无法跨服务器进行访问。下面我们来介绍一下如何利用SQL Server 的链接服务器,把地理上分
- 本文实例为大家分享了python画环形图的具体代码,供大家参考,具体内容如下import osimport pandas as pdimpo
- 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。GET方式提交的数据
- 【原文地址】 Fixes for Common VS 2008 and .NET 3.5 Beta2 Issu
- ExpiresAbsolute 属性指定缓存于浏览器中的页的到期日期和时间语法Response.ExpiresAbsolute [
- 1、善用css缩写可以减少页面文件大小,提高下载速度,同时使代码简洁可读。代码:div{ b
- 扪心自问,你真正了解你卖给用户的是什么玩意么?你所认为革命性的,一定会震惊世界的功能、特色,用户真的买单么?我的意思是,我们总是习惯性的忘记
- 在操作系统的文件中,还存在着一种我们可以自己定义的文件属性。这些属性不是保存在文件内容中,也不是直接可以通过 ls -al 所能看到的内容。
- PHP PDO 事务与自动提交现在通过 PDO 连接上了,在开始进行查询前,必须先理解 PDO 是如何管理事务的。事务支持四大特性(ACID
- 前面已经了解了关于PL/SQL编程的基础,本文将结合一个案例来加深对这些知识点的理解。一. 案例介绍 某数据库有两张表,是关于某公司员工资料
- 阅读本文大概需要3分钟关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。趣味编程其实是最好的学习途