PyQt+OpenCV 录制保存、播放视频(二)

2014-11-24 08:47:23 来源: 作者: 浏览: 1
i.cvQueryFrame(camera)
highgui.cvWriteFrame(self.videowriter, im)#录制视频,写入文件
#convert Ipl image to PIL image
im = opencv.adaptors.Ipl2PIL(im)
im = im.convert('RGB').tostring('jpeg', 'RGB')# 转换格式,jpeg
self.image.loadFromData(QByteArray(im))#格式支持QT,直接加载
#im.save('3.jpg')#opencv 返回的是Ipl 格式,QT无法直接显示。不知道如何转换格式,采用保存、读取的方式。
#pic.load('3.jpg')
self.piclabel.setPixmap(QPixmap.fromImage(self.image)) #一帧一帧的显示


class Timer(QThread):

def __init__(self, signal = "updateTime()", parent=None):
super(Timer, self).__init__(parent)
self.stoped = False
self.signal = signal
self.mutex = QMutex()



def run(self):
with QMutexLocker(self.mutex):
self.stoped = False
while True:
if self.stoped:
return



self.emit(SIGNAL(self.signal))
time.sleep(0.04) #40毫秒发送一次信号,每秒25帧

def stop(self):
with QMutexLocker(self.mutex):
self.stoped = True

def isStoped(self):
with QMutexLocker(sellf.mutex):
return self.stoped

if __name__ == "__main__" :
app = QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: