3

誰かが私を助けることができれば、それは素晴らしいことです。OpenCV を使用して Web カメラ ストリームを取得し、画像を更新して PySide アプリケーションに表示しようとしています。

cv.NamedWindow('Raw', cv.CV_WINDOW_AUTOSIZE)
self.cap = cv.CaptureFromCAM(0)

これは機能しており、show image 関数を使用して while ループで名前付きウィンドウを更新します。

while True:
    frame = cv.QueryFrame(self.cap)
    img = cv.CreateImage(cv.GetSize(frame),cv.IPL_DEPTH_8U,1)
    if frame is None:
        print "Frame is none"
        sys.exit(1)
    # display webcam image
    cv.ShowImage('Raw', frame)

しかし、PySide アプリケーションで画像を表示しようとすると、空白の黒い画像が表示されます (次のコードは上記と同じ while ループにあります)。

image = QImage(frame.tostring(), frame.width, frame.height, QImage.Format_RGB888).rgbSwapped()
self.pixmap = QPixmap.fromImage(image)
grid = QGridLayout()
grid.setSpacing(10)
imageBox = QLabel(self)
imageBox.setGeometry(0,0,300,200)
imageBox.setPixmap(self.pixmap.scaled(300,200))
grid.addWidget(imageBox)
self.widget.setLayout(grid)
self.repaint()            

画像が更新されない理由を知っている人はいますか?

4

0 に答える 0