pyqt5 使用cv2 显示图片,摄像头的实例


Posted in Python onJune 27, 2019

如下所示:

#! /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

以上这篇pyqt5 使用cv2 显示图片,摄像头的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中find()方法的使用
May 18 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
Python中的数学运算操作符使用进阶
Jun 20 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
浅析Python四种数据类型
Sep 26 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
Jun 03 Python
Python自动抢红包教程详解
Jun 11 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
Python基础类继承重写实现原理解析
Apr 03 Python
Python正则表达式如何匹配中文
May 27 Python
python中if嵌套命令实例讲解
Feb 25 Python
对python中GUI,Label和Button的实例详解
Jun 27 #Python
python 整数越界问题详解
Jun 27 #Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 #Python
python 反编译exe文件为py文件的实例代码
Jun 27 #Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
Jun 27 #Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 #Python
对python3 sort sorted 函数的应用详解
Jun 27 #Python
You might like
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
python文件比较示例分享
2014/01/10 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
Python实现读取并保存文件的类
2017/05/11 Python
Python实现的rsa加密算法详解
2018/01/24 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
Pycharm plot独立窗口显示的操作
2020/12/11 Python
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
数据库笔试题
2013/05/09 面试题
微笑面对生活演讲稿
2014/05/13 职场文书
物业前台接待岗位职责
2015/04/03 职场文书