Opencv --- 我不能使用函数 imread
Posted
技术标签:
【中文标题】Opencv --- 我不能使用函数 imread【英文标题】:Opencv --- I cannot use the function 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
【参考方案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很熟悉...我仍然不知道。以上是关于Opencv --- 我不能使用函数 imread的主要内容,如果未能解决你的问题,请参考以下文章