import cv2
import numpy as numpy
from PIL import *
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from threading import *
#一大堆引用,乱七八糟,都要用到
#需要继承QWidget,初始化窗体
class initform(QWidget):
def __init__(self):
super().__init__()
return self.initUI() def initUI(self):
#设置窗口左上边距,宽度高度
self.setGeometry(300,300,800,600)
#设置窗体标题
self.setWindowTitle("myui")
# self.layout=QGridLayout(self)
#设置lable文本内容
self.lable=QLabel("iamlable",self)
# self.lable.move(0,0)
#label的对其方式,为左上对其
self.lable.setAlignment(Qt.AlignTop)
self.lable.setAlignment(Qt.AlignLeft)
#设置lable的大小
self.lable.setGeometry(0,0,800,600)
# self.lable.size(800,600)
self.lable.setScaledContents(True)
# self.lable.setWordWrap(True)
# self.lable.setFixedSize(800,600)
# self.lable.setFixedWidth(800)
# self.lable.setFixedHeight(600)
#lable加入窗体
# self.layout.addWidget(self.lable) # self.lable.setAutoFillBackground(True)
# self.lable.alignment(Qt.AlignCenter)
# pe=QPalette()
# pe.setColor(QPalette.windowText,Qt.blue)
# pe.setColor(QPalette.window,Qt.red)
# self.lable.setPalette(pe)
# self.lable.move(0,0)
#读取图片
self.show() def SetPic(self,img):
# self.lable.setPixmap(QPixmap(imgPath))
#图片显示
self.lable.setPixmap(QPixmap.fromImage(img))
# print(QPixmap(imgPath))
thstop=False
#上面的这个来控制进程结束
def showcamre():
#参数0代表系统第一个摄像头,第二就用1 以此类推
cap=cv2.VideoCapture(0)
#设置显示分辨率和FPS ,不设置的话会非常卡
cap.set(cv2.CAP_PROP_FRAME_WIDTH,800)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,600)
cap.set (cv2.CAP_PROP_FPS,20)
while cap.isOpened():
if thstop:
return
ret,frame=cap.read()
if ret==False:
continue
#水平翻转,很有必要
frame=cv2.flip(frame,1)
#opencv 默认图像格式是rgb qimage要使用BRG,这里进行格式转换,不用这个的话,图像就变色了,困扰了半天,翻了一堆资料
frame=cv2.cvtColor(frame,cv2.COLOR_RGB2BGR)
#mat-->qimage
a=QImage(frame.data,frame.shape[1],frame.shape[0],QImage.Format_RGB888)
ex.SetPic(a)
app=QApplication(sys.argv) ex=initform()
#全屏显示
# ex.showFullScreen()
#使用线程,否则程序卡死
th=Thread(target=showcamre)
th.start()
app.exec_()
#退出的时候,结束进程,否则,关不掉进程
thstop=True

python+opencv+pyqt5控制摄像头在Qlabel上显示的更多相关文章

  1. python+opencv 打开网络摄像头

    python+opencv 打开网络摄像头(手机)(转) #以下是最常用的读取视频流的方法import cv2url = 'rtsp://admin:admin@192.169.5.2:554/'#根 ...

  2. 在python3下使用OpenCV 抓取摄像头图像并实时显示3色直方图

    以下代码为在Python3环境下利用OpenCV 抓取摄像头的实时图像, 通过OpenCV的 calHist函数计算直方图, 并显示在3个不同窗口中. import cv2 import numpy ...

  3. python opencv 读取USB摄像头的像素问题

    问题描述 每次调用capture读取video的时候,还回的像素都是640x480,不管是笔记本的摄像头还是USB摄像头,明明我的摄像头是支持130万读取的功能的呀. 问题分析 一番查找,关于用ope ...

  4. python opencv PyQt5

    import cv2 import numpy as np import sys from PyQt5.QtGui import * from PyQt5.QtCore import * from P ...

  5. MFC上显示摄像头JPEG图片数据的两种方法

    其一是借助opencv,其二是利用流对象. 方法一: CvMat *mat; ,,CV_8UC1); ,,CV_8UC1,JPEGBuf); /*初始化矩阵信息头,这里的JPEGBuf就是JPEG图像 ...

  6. 用Python控制摄像头拍照并发邮件

    概述前言 工具 思路 安装及导入包 设置参数 实现拍照 构造邮件内容 发送邮件 判断网络连接 开机自启 后记 o1 前言为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序 ...

  7. 在Jetson TX2上显示摄像头视频并使用python进行caffe推理

    参考文章:How to Capture Camera Video and Do Caffe Inferencing with Python on Jetson TX2 与参考文章大部分都是相似的,如果 ...

  8. Python手势识别与控制

    代码地址如下:http://www.demodashi.com/demo/12968.html Python手势识别与控制 概述 本文中的手势识别与控制功能主要采用 OpenCV 库实现, OpenC ...

  9. 【Python | opencv+PIL】常见操作(创建、添加帧、绘图、读取等)的效率对比及其优化

    一.背景 本人准备用python做图像和视频编辑的操作,却发现opencv和PIL的效率并不是很理想,并且同样的需求有多种不同的写法并有着不同的效率.见全网并无较完整的效率对比文档,遂决定自己丰衣足食 ...

随机推荐

  1. Hibernate错误:Could not bind factory to JNDI

    使用hibernate时,将hibernate.cfg.xml中 <session-factory name="SessionFactory">的那么属性去掉即可.因为 ...

  2. Full List of NMD R1 Singapore 2017

    The initial adidas NMD Singapore, which sparked a sneaker craze larger than the Three Stripes could' ...

  3. Linux系统——账号管理

    用户账号管理 分类: 超级用户 root uid=0 gid=0 权限最大 普通用户 uid=>500 ,一般权限的系统管理 程序用户 1=<uid,为了提升系统安全性,支持所对应服务对系 ...

  4. java反射子之获取方法信息(二)

    一.获取方法 1.方法作用. 2. 二.获取方法信息.(修饰符,返回值,方法名称,参数列表,抛出的异常). ############################################## ...

  5. 懒加载 js----例子------图片

    转载自:https://www.jianshu.com/p/9b30b03f56c2 懒加载工具类 <script type="text/javascript"> // ...

  6. [转]运动检测(前景检测)之(二)混合高斯模型GMM

    转自:http://blog.csdn.net/zouxy09/article/details/9622401 因为监控发展的需求,目前前景检测的研究还是很多的,也出现了很多新的方法和思路.个人了解的 ...

  7. 关于ldap的学习

    主要从以下网站学习了相关基础知识概念,安装与基本配置. http://www.aikaiyuan.com/8269.htmlhttps://segmentfault.com/a/11900000026 ...

  8. 论文笔记:CNN经典结构1(AlexNet,ZFNet,OverFeat,VGG,GoogleNet,ResNet)

    前言 本文主要介绍2012-2015年的一些经典CNN结构,从AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1-v4,ResNetv1-v2. 在论文笔记:CNN经典结构2 ...

  9. zookeeper和淘宝dubbo的关系

    Dubbo建议使用Zookeeper作为服务的注册中心. 1.   Zookeeper的作用:         zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知 ...

  10. WCF使用安全证书验证消息加密

    首先安装 服务端安全证书  代码如下:  // 下面第一行是安装证书,第二行是将证书列入信任 makecert.exe -sr LocalMachine -ss MY -a sha1 -n CN=lo ...