我在QT Creator中使用OpenCV 2.4.8,我试图在控制台中打印一些输出,但控制台仍然是空的。
这是一个简约的代码示例:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
int main(){
std::cout << "File not found" << std::endl;
cv::waitKey(5000);
return 1;
}
当我省略cv :: waitKey(5000)这一行时,一切正常并打印文本。这段代码有什么问题?
编辑:我将代码更改为:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
int main(){
cv::Mat image;
std::cout << "File not found" << std::endl;
return 1;
}
控制台打开并显示“按Return键关闭控制台”之类的内容。当我删除行cv :: Mat图像时,everthing工作正常。控制台打开并显示“未找到文件”,并在下一行“按Return键关闭控制台”。当我使用OpenCV代码时,cout不起作用。没有OpenCV代码,一切都还可以。
EDIT2:现在我插入了一个std :: cin.get();在std :: cout行和everthing工作之后。我不知道是什么问题。但这对我来说没问题。
答案 0 :(得分:0)
cv::waitKey
在返回之前等待5秒(5000毫秒),除非用户按下键盘按钮,但由于没有显示窗口,因此不会被捕获。您在运行程序时是否尝试过等待几秒钟?
答案 1 :(得分:0)
您是否尝试flush
cout
例如
std::cout << "File not found" << std::endl;
std::cout << std::flush;