【问题标题】:Opencv --- I cannot use the function imreadOpencv --- 我不能使用函数 imread
【发布时间】:2013-08-29 14:39:45
【问题描述】:

我的 opencv 函数有问题。我可以使用

IplImage* img = CvLoadImage("2_DeepViewOutput.png");

但是我不能用

Mat img = imread("2_DeepViewOutput.png");

它给了我

此行有多个标记 - 行断点:Hello.cpp [行:11] - 对 `cv::imread(std::string const&, int)' 的未定义引用

我想我已经在路径中加载了库。我不知道原因,请帮助我。

【问题讨论】:

  • Windows?编译器明确表示您没有链接到正确的库(可能是 opencv2 的 highgui)。
  • 可能重复:1, 2

标签: opencv


【解决方案1】:

问题是您包含了 C 头文件,而不是 C++ 头文件。因此,您的程序无法编译,因为 C 头文件中不存在 cv::imread(std::string const&, int) 函数的声明。

因此,您必须包含 C++ 头文件。 (例如 - #include "opencv2/highgui/highgui.hpp")(这个link 会帮助你)

如果你还没有为 C++ 配置你的 IDE,请通过这个link

【讨论】:

    【解决方案2】:

    问题在于您的 IDE 路径中缺少 dll。按照这个link 一步一步地解决你的问题。

    【讨论】:

    • 我认为我在 IDE 路径中是对的,如果我错了,我该如何运行函数 CVLoadImage ?是C++函数不能运行吗? C 可以吗?
    • 不,我使用的是 elcipse,opencv 2.4.5。现在,我必须用 C 编程,因为我不能在 opencv 中使用 C++ 函数。就像我可以使用 CvLoadImage 加载图像一样,我不能直接使用 imread。
    • 不,有什么问题,您可以尝试使用 Netbeans 吗?它非常简单。
    • 我对eclipse很熟悉...我仍然不知道。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    相关资源
    最近更新 更多