1

OpenCV を使用して Qt でビデオを再生しようとしています。次のコードを使用しています。

CvCapture *capture;
IplImge *frame;
cv::Mat source_image;
cv::Mat dest_image;
QTimer *imageTimer;

void MainWindow::onButtonClick()
 {
   capture = cvCaptureFromFile("/mp.mp4");
   while(capture)
  {
    frame = cvQueryFrame((capture);
    source_image = frame;
    cv::resize(source_image,source_image,cv::Size(420,180),0,0);
    cv::cvtColor(source_image,source_image,CV_BGR2RGB);
    QImage qimg = QImage((const unsigned char*) source_image.data,source_image.cols,source_imge.rows,QImage::Format_RGB888);
    label->setPixmap(QPixmap::fromImage(qimg));
    label->resize(label->pixmap()->size());
    qapp->processEvents();
   }
 }

ボタンをクリックして再生しようとすると、正常に動作します。ただし、MainWindow コンストラクターで同じコードを記述すると、予想外に終了します。ボタンをクリックしたときではなく、画面の起動時にビデオを表示する必要があります。同じために私は何をすべきですか?ありがとうございました :)

4

0 に答える 0