0

QGraphicsView でビデオを表示しています。その上に透明な画像を追加したい。次のコードを使用しています

処理された画像を出力して MainWindow でキャッチするスレッド「ビデオ」があります。

ヘッダファイル内

public:

video m_objVideo;      //Object of class video

QGraphicsScene *m_graphicSceneCamera;

QGraphicsPixmapItem *m_pixItemCamera;
QGraphicsPixmapItem *m_pixItemVideo;
QGraphicsProxyWidget *m_proxyWidgetVideoLabel;

public slots:
void ImageRecieved(QImage);

メイン ウィンドウ.cpp:

MainWindow::MainWindow(QWidget *parent) :
 QMainWindow(parent)
{
  setupUi(this);
  m_graphicSceneCamera = new QGraphicsScene(this);
  m_objVideo.play();
  connect(&m_objVideo,SIGNAL(signalProcessedImage(QImage)),this,SLOT(ImageRecieved(QImage)));
}

 void MainWindow::ImageRecieved(QImage l_processedImage)
 {
   m_graphicSceneCamera->addPixmap(QPixmap::fromImage(l_processedImage));
   m_graphicViewCamera->setScene(m_graphicSceneCamera);
   QImage l_image("/root/Desktop/FICV/images for demo/transparentImage.png");
   QPixmap l_pixmapImage(QPixmap::fromImage(l_image));
   m_pixItemVideo = m_graphicSceneGunCamera->addPixmap(l_pixmapImage);
 }

問題は、これを行うと、ビデオの速度が遅くなり、しばらくするとクラッシュすることです。最初は効果を示します。誰かがこれを解決する方法を教えてもらえますか?

4

1 に答える 1