我正在尝试在Ubuntu 12.04 LTS上的Eclipse IDE中运行C++OpenCV程序。当我使用终端时,它们运行良好,如图所示-https://help.ubuntu.com/community/OpenCV.
但是当我在Eclipse中构建相同的代码时,我会得到以下错误
错误描述-
opengl支持可用OpenCV错误:在imshow,文件/home/akash/OpenCV/OpenCV-2.4.7/modules/higiguid/src/window.cpp,第269行中断言失败(size.widh>0;&size.height>0)在引发"cv::Exception"的实例后调用了terminatewhat():/home/akash/OpenCV/OpenCV-2.4.7/modules/highgui/src/window.cpp:269:错误:(-215)size.width>0&;函数imshow 中的size.height>0
我的代码是
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat img=imread("image.jpg");
namedWindow("win",WINDOW_AUTOSIZE);
imshow("win",img);
waitKey(0);
return 1;
}
我已经处理了以下内容-
- 将image.jpg保存在src和项目的所有其他文件夹中
- 仔细检查/usr/local/lib中的库名称
- 仅为OpenCV头文件添加了一个包含路径
我似乎仍然无法运行它。
请帮忙。
我仍然认为您的问题来自于程序找不到image.jpg文件(即使您已经采取了许多步骤来确保它找到了)。执行应用程序的工作目录通常与eclipse中的源文件夹或二进制文件夹的工作目录不同(实际上可以在项目设置中手动设置)。
为了快速验证这一假设,您可以将image.jpg的绝对路径传递给imread()
。如果这解决了问题,您只需要在eclipse中正确配置工作目录。
g++ filename.cpp -o outputfile-name pkg-config --cflags --libs opencv
例如:
编译:-
thinkpadt61@thinkpadt61-ThinkPad-T61:~/Kannathasan$ g++ simple.cpp -o sample pkg-config --cflags --libs opencv
运行:
thinkpadt61@thinkpadt61-ThinkPad-T61: ./sample
就是这样!。。。享受