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中死锁的形成示例及死锁情况的防止
Jun 14 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
Python实现的质因式分解算法示例
May 03 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
python中time库的实例使用方法
Oct 31 Python
python中删除某个元素的方法解析
Nov 05 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
Python函数式编程实例详解
Jan 17 Python
Python猴子补丁Monkey Patch用法实例解析
Mar 23 Python
python with语句的原理与用法详解
Mar 30 Python
Python实现敏感词过滤的4种方法
Sep 12 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发送邮件类代码附详细说明
2008/07/10 PHP
PHP函数in_array()使用详解
2014/08/20 PHP
php计算一个文件大小的方法
2015/03/30 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
js解决movebox移动问题
2016/03/29 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
小程序实现多选框功能
2018/10/30 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
基于scrapy的redis安装和配置方法
2018/06/13 Python
Python编写打字训练小程序
2019/09/26 Python
python实现字典嵌套列表取值
2019/12/16 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
详解Pycharm安装及Django安装配置指南
2020/09/15 Python
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
红旗团支部事迹材料
2014/01/27 职场文书
读书演讲主持词
2014/03/18 职场文书
会计岗位说明书
2014/07/29 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
MySQL多表查询机制
2022/03/17 MySQL