OpenCV C ++代码在终端运行良好但从eclipse运行时出错 - Ubuntu 12.04

时间:2013-12-23 11:17:10

标签: c++ eclipse opencv ubuntu

我正在尝试在Ubuntu 12.04 LTS上的Eclipse IDE中运行C ++ OpenCV程序。我使用终端时运行正常,如下所示 - https://help.ubuntu.com/community/OpenCV

但是当我在Eclipse中构建相同的代码时,我收到以下错误

错误说明 -

  

opengl支持可用   OpenCV错误:imshow中的断言失败(size.width> 0& size.height> 0),文件/home/akash/OpenCV/opencv-2.4.7/modules/highgui/src/window.cpp,第269行   在抛出'cv :: Exception'的实例后终止调用     what():/ home / akash / OpenCV / opencv-2.4.7 / modules / highgui / src /window.cpp:269:error:( - 1515)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;

}

我已经处理了以下事项 -

  1. 将image.jpg保存在src和项目的所有其他文件夹中。
  2. 仔细检查/ usr / local / lib
  3. 中的库名称
  4. 仅为OpenCV头文件添加了一个包含路径。
  5. 我似乎还是无法运行它。

    请帮忙。

2 个答案:

答案 0 :(得分:3)

我仍然认为你的问题来自程序没有找到 image.jpg 文件(即使你已经采取了一些步骤来确保它确实存在)。工作目录 - 从中​​执行应用程序 - 通常不同于eclipse中的源文件夹或二进制文件夹(您可以在项目设置中手动设置它)。

要快速验证此假设,您可以将 image.jpg 的绝对路径传递给imread()。如果这样可以解决问题,您只需要在eclipse中正确配置工作目录。

答案 1 :(得分:0)

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

多数民众赞成!...享受