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