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 回调函数和回调方法的实现分析
Mar 23 Python
Python的网络编程库Gevent的安装及使用技巧
Jun 24 Python
Python selenium 三种等待方式解读
Sep 15 Python
利用python修改json文件的value方法
Dec 31 Python
使用pyecharts生成Echarts网页的实例
Aug 12 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
django配置app中的静态文件步骤
Mar 27 Python
python和php哪个容易学
Jun 19 Python
浅析python 字典嵌套
Sep 29 Python
python文件目录操作之os模块
May 08 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 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语法(4)
2006/10/09 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
php adodb连接不同数据库
2009/03/19 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
JS开发常用工具函数(小结)
2019/07/04 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
python中实现定制类的特殊方法总结
2014/09/28 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
python Tornado框架的使用示例
2020/10/19 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
使用CSS3制作饼状旋转载入效果的实例
2015/06/23 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
EJB的基本架构
2016/09/22 面试题
毕业生的自我评价分享
2013/12/18 职场文书
校本教研工作制度
2014/01/22 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
事业单位考核材料
2014/05/21 职场文书
青岛导游词
2015/02/12 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers