我一直在尝试使用OpenCV和C ++,但即使我的代码编译(Visual Studio 2010),它也不会做任何事情:
#include <iostream>
#include <stdio.h>
#include "cv.h"
#include "highgui.h"
#include "cvaux.h"
#include "cvwimage.h"
#include "cxcore.h"
#include "cxmisc.h"
#include "ml.h"
using namespace cv;
using namespace std;
int main()
{
namedWindow("yolo", WINDOW_AUTOSIZE );
waitKey(1);
cout << "Why won't this show up?" << endl;
}
它编译好,没有错误,但程序没有做任何事情 - 当我在控制台中打开它时,它不会返回'为什么不显示?'文本 - 没有返回任何内容。
无论我尝试使用哪种代码,它都无法运行,也从不做任何事情。
发生了什么事?
祝你好运
编辑:当我将等待时间设置为0(永久)时,它仍然无效。
答案 0 :(得分:1)
但是,窗口确实已创建,因为您将waitKey函数设置为1毫秒,它只存在很短的时间。尝试使用:
waitKey(0);
答案 1 :(得分:0)
waitKey(1);是罪魁祸首。最短时间是1毫秒(你在这里得到的#s)
要么成功:
waitKey(0); // forever
或增加合理的时间
waitKey(5000); // 5 secs
答案 2 :(得分:0)
它必须是,
#include <cv.h>
#include <highgui.h>
cv::namedWindow("test_1", CV_WINDOW_AUTOSIZE );
cvWaitKey();
std::cout << "This will work because I just tested it." << endl;
我使用CMake链接库。 CMake代码是,
FIND_PACKAGE( OpenCV REQUIRED )
TARGET_LINK_LIBRARIES( myProject ${OpenCV_LIBS} )