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脚本实现DNSPod DNS动态解析域名
Feb 14 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
利用Python爬取可用的代理IP
Aug 18 Python
Python实现统计文本文件字数的方法
May 05 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
python使用tornado实现简单爬虫
Jul 28 Python
Python3中exp()函数用法分析
Feb 19 Python
python getopt模块使用实例解析
Dec 18 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
python异常处理之try finally不报错的原因
May 18 Python
利用Python的folium包绘制城市道路图的实现示例
Aug 24 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 xml-rpc远程调用
2008/12/19 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
top.location.href 没有权限 解决方法
2008/08/05 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
python二叉树遍历的实现方法
2013/11/21 Python
python 动态加载的实现方法
2017/12/22 Python
Python读取word文本操作详解
2018/01/22 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物