我正在使用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);
,因为在此之后我无法打印“文件已打开”。
答案 0 :(得分:1)
您没有看到最后一条日志消息,因为您没有刷新标准输出流。
您可以在消息printf("\nFile Opened\n")
之后添加换行符,也可以在最后一个fflush(stdout)
之后显式调用printf
。