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 相关文章推荐
用PyQt进行Python图形界面的程序的开发的入门指引
Apr 14 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
bpython 功能强大的Python shell
Feb 16 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 Python
Python发送手机动态验证码代码实例
Feb 28 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
Python开发入门——迭代的基本使用
Sep 03 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 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设计模式 Facade(外观模式)
2011/06/26 PHP
PHP 第一节 php简介
2012/04/28 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
PHP7引入的"??"和"?:"的区别讲解
2019/04/08 PHP
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
西尔斯百货官网:Sears
2016/09/06 全球购物
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
friso美素佳儿官方海外旗舰店:荷兰原产原罐
2017/07/03 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
和平主题的演讲稿
2014/01/12 职场文书
驾驶员安全责任书
2014/07/22 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
行政处罚听证告知书
2015/07/01 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS