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