Python+Opencv+Qt4编写Windows下摄像头图像采集显示程序
2017-11-14 21:06
633 查看
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '1.ui'
#
# Created: Tue Nov 14 09:45:29 2017
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
# -*- coding: cp936 -*-
import cv2
import numpy as np
from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import phonon
from PyQt4.QtSql import *
import sys
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName(_fromUtf8("Dialog"))
Dialog.resize(760, 439)
self.pushButton = QtGui.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(130, 390, 75, 23))
self.pushButton.setObjectName(_fromUtf8("打开"))
self.pushButton_2 = QtGui.QPushButton(Dialog)
self.pushButton_2.setGeometry(QtCore.QRect(570, 390, 75, 23))
self.pushButton_2.setObjectName(_fromUtf8("关闭"))
self.label = QtGui.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(10, 31, 391, 311))
self.label.setText(_fromUtf8(""))
#self.label.setPixmap(QtGui.QPixmap(_fromUtf8("D:/用户目录/我的图片/15.bmp")))
self.label.setObjectName(_fromUtf8("label"))
self.label_2 = QtGui.QLabel(Dialog)
self.label_2.setGeometry(QtCore.QRect(570, 170, 54, 12))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))
self.pushButton.setText(_translate("Dialog", "打开", None))
self.pushButton_2.setText(_translate("Dialog", "关闭", None))
self.label.setText(_translate("Dialog", "视频", None))
self.label_2.setText(_translate("Dialog", "截图", None))
self.pushButton.clicked.connect(self.open_camer)
self.pushButton_2.clicked.connect(self.take_picture)
def open_camer(self):
global cap,timer
cap = cv2.VideoCapture(0)
815f
timer.start(100)
#fourcc = cv2.cv.CV_FOURCC(*'XVID')
#opencv3的话用:fourcc = cv2.VideoWriter_fourcc(*'XVID')
#out = cv2.VideoWriter('output.avi',fourcc,20.0,(640,480))#保存视频
'''
while True:
ret,frame = cap.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
out.write(frame)#写入视频
cv2.imshow('frame',frame)#一个窗口用以显示原视频
cv2.imshow('gray',gray)#另一窗口显示处理视频
if cv2.waitKey(1) &0xFF == ord('q'):
break
cap.release()
out.release()
cv2.destroyAllWindows()
'''
def take_picture(self):
global timer
timer.stop()
class Dialog(QtGui.QDialog):
def __init__(self,parent=None):
global timer
QtGui.QWidget.__init__(self,parent)
self.ui=Ui_Dialog() # Ui_Dialog为.ui产生.py文件中窗体类名,经测试类名以Ui_为前缀,加上UI窗体对象名(此处为Dialog,见上图)
self.ui.setupUi(self)
timer = QTimer(self)
self.connect(timer, SIGNAL("timeout()"), self.updtTime)
def updtTime(self):
global cap
#cap = cv2.VideoCapture(0)
ret,frame = cap.read()
cv2.imwrite('1.jpg', frame)
#out.write(frame)
self.ui.label.setPixmap(QtGui.QPixmap(_fromUtf8('1.jpg')))
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp=Dialog()
myapp.show()
app.exec_()
pass
相关文章推荐
- C#用basler相机sdk采集图像并用halcon显示的小程序
- Windows环境下Python v2.7.9,Notepad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法
- 给-4℃网友的摄像头简单图像采集程序的源代码
- Linux设备驱动之LCD显示摄像图像之二编写V4l2程序
- opencv实现摄像头的实时图像采集与显示
- android 采集摄像头帧图像数据并显示
- 使用 Video4Linux 采集USB摄像头的图像,并保存到一张 jpg图像文件中的程序
- OpenCV编程案例:实现一个双目摄像头图像显示的程序
- Windows服务编写(Windows Service,system权限)程序显示界面与用户交互(xp,win7通用)
- C编写Windows服务程序学习
- 从零开始,重新学习windows编程(2)--环境准备,不用IDE编写程序
- VmodCAM图像采集 VGA显示
- 利用java语言编写程序显示图案“java”
- 在MFC程序中显示JPG/GIF图像
- vc 下编写的 Windows窗口小程序 计算机
- 编写一个程序,对用户输入的任意一组数字字符如{3,1,4,7,2,1,1,2,2},输出其中出现次数最多的字符,并显示其出现次数。如果有多个字符出现次数均为最大且相等,则输出最先出现的那个字符和它出现
- Windows平台下GCC编程之从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号。
- Python3编写Windows服务程序
- MFC中使用OpenCV显示摄像头图像
- OpenCV学习——摄像头显示、录像、拍照程序