誰かが私を助けることができれば、それは素晴らしいことです。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()
画像が更新されない理由を知っている人はいますか?