我正在尝试使用 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 构造函数中编写相同的代码时,它会意外完成。我希望视频应该在屏幕启动时显示,而不是在我单击按钮时显示。我应该怎么做?谢谢你 :)