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之ReportLab绘制条形码和二维码的实例
Jan 15 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
python处理数据,存进hive表的方法
Jul 04 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
小 200 行 Python 代码制作一个换脸程序
May 12 Python
django queryset相加和筛选教程
May 18 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
May 26 Python
Python常用外部指令执行代码实例
Nov 05 Python
Python环境配置实现pip加速过程解析
Nov 27 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 异常处理实现代码
2009/03/10 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
IE 下的只读 innerHTML
2009/08/21 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
详解JavaScript对象和数组
2015/12/03 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
JS实现前端页面的搜索功能
2018/06/12 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
js实现json数组分组合并操作示例
2019/02/12 Javascript
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
优秀企业获奖感言
2014/02/01 职场文书
连带责任保证书
2014/04/29 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
合作协议书格式
2014/08/19 职场文书
幼儿园家长反馈意见
2015/06/03 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis