我正在尝试将 simplecv 集成到 pyqt4 并取得了一些成功。我能够通过 simplecv 在 pyqt4 中看到网络摄像头捕获,我可以使用 simplecv 修改图像,它在 pyqt4 中显示正常,但是当我尝试向图像添加几何图形或文本时,它没有在 pyqt4 中显示。如果我自己运行 simpleCV 代码,它可以正常工作。有人可以帮我理解为什么它不起作用吗?顺便说一句,正如你所见,我是 pyqt4 和 simpleCV 的新手。查看我目前拥有的代码。
#!/usr/bin/env python
import os
import sys
import signal
from PyQt4 import uic, QtGui, QtCore
from webcamGUI3 import *
from SimpleCV import *
class Webcam(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self,parent)
self.MainWindow = Ui_MainWindow()
self.MainWindow.setupUi(self)
self.webcam = Camera(0,{ "width": 640, "height": 480 })
self.timer = QtCore.QTimer()
self.connect(self.timer, QtCore.SIGNAL('timeout()'), self.show_frame)
self.timer.start(1);
def show_frame(self):
ipl_image = self.webcam.getImage()
ipl_image.dl().circle((150, 75), 50, Color.RED, filled = True)
data = ipl_image.getBitmap().tostring()
image = QtGui.QImage(data, ipl_image.width, ipl_image.height, 3 * ipl_image.width, QtGui.QImage.Format_RGB888)
pixmap = QtGui.QPixmap()
pixmap.convertFromImage(image.rgbSwapped())
self.MainWindow.lblWebcam.setPixmap(pixmap)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
webcam = Webcam()
webcam.show()
app.exec_()
有任何想法吗?