【发布时间】:2013-11-30 11:48:01
【问题描述】:
我想使用 python OpenCV 绑定在 QLabel 中显示网络摄像头流。我在这里找到了一些以前的帖子:
一开始我尝试了一个简单的“while”循环:
def onRun(self):
self.playing = True
capture = cv2.VideoCapture(0)
while self.playing:
_, data = capture.read()
data = cv2.cvtColor(data, cv2.cv.CV_BGR2RGB)
qImage = QtGui.QImage(data, data.shape[1], data.shape[0],
QtGui.QImage.Format_RGB888)
self.lblImage.setPixmap(QtGui.QPixmap.fromImage(qImage))
self.lblImage.adjustSize()
time.sleep(0.02)
但我遇到了“白窗”问题。我发现解决这个问题的正确方法是创建一个新线程。我的问题是:关于新线程的全部内容是什么?我应该创建 QThread 还是什么?它在线程中发出的信号/插槽是什么?
我从未使用过线程,所以这对我来说是全新的。
【问题讨论】:
-
您可能想在此处阅读有关 Markdown 的工作原理以及如何格式化帖子的信息。 :-) 另外,我们已经有一个标签字段,不需要在标题中重复它们。
-
抱歉我的格式和标题 - 这是我第一次来这里,下次我会记住的:)
标签: python multithreading opencv webcam pyside