我正在尝试在 Ubuntu 12.04 LTS 上的 Eclipse IDE 中运行 C++ OpenCV 程序。当我使用终端时它们运行良好,如此处所示- https://help.ubuntu.com/community/OpenCV .
但是当我在 Eclipse 中构建相同的代码时,出现以下错误
错误描述-
opengl support available OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /home/akash/OpenCV/opencv-2.4.7/modules/highgui/src/window.cpp, line 269 terminate called after throwing an instance of 'cv::Exception' what(): /home/akash/OpenCV/opencv-2.4.7/modules/highgui/src/window.cpp:269: error: (-215) size.width>0 && size.height>0 in function imshow
我的代码是
#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 中正确配置您的工作目录。
关于c++ - OpenCV C++ 代码在终端中运行良好,但从 Eclipse 运行时出错 - Ubuntu 12.04,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20742404/