打开cv中的videoCapture后,应用程序无响应

时间:2018-10-05 10:16:50

标签: c++ qt opencv

我正在使用C ++在ubuntu中使用Qt。 我正在使用VideoCapture中的openCV阅读视频。 但是打开视频容器后,我的应用程序立即没有响应。

char filename[50];
VideoCapture cap;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{

ui->setupUi(this);
sprintf(filename,"/media/sf_Shared_with_VM/helicopter_with_stickers.mp4");
cap.open(filename);
printf("\nFile Opened");

}

这里文件已打开,但未打印“文件已打开”。

这是一个大程序的一部分,在其中单击按钮,我必须录制原始视频和叠加视频。视频显示和存储工作正常。但是我想在按“原始记录”按钮时打印“原始记录”,对于其他按钮,则要打印。但是除非我按下两次或按下另一个按钮,否则它不会被打印,即按下一个按钮后它才响应。我将其调试到cap.open(filename);,因为在此之后我无法打印“文件已打开”。

1 个答案:

答案 0 :(得分:1)

您没有看到最后一条日志消息,因为您没有刷新标准输出流。

您可以在消息printf("\nFile Opened\n")之后添加换行符,也可以在最后一个fflush(stdout)之后显式调用printf