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单链表实现代码实例
Nov 21 Python
python实现从ftp服务器下载文件的方法
Apr 30 Python
python使用分治法实现求解最大值的方法
May 12 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
Python编程求质数实例代码
Jan 31 Python
Python解析Excle文件中的数据方法
Oct 23 Python
Python3内置模块之base64编解码方法详解
Jul 13 Python
Django model update的多种用法介绍
Mar 28 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
Django实现随机图形验证码的示例
Oct 15 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
Python如何使用循环结构和分支结构
Apr 13 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
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
8个必备的PHP功能开发
2015/10/02 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
Javascript数组中push方法用法分析
2016/10/31 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
python基础教程之缩进介绍
2014/08/29 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
django中瀑布流写法实例代码
2019/10/14 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
金融专业推荐信
2013/11/14 职场文书
博士生入学考试推荐信
2013/11/17 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
精彩的广告词
2014/03/19 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
小升初自荐信范文
2015/03/05 职场文书