2011-04-29 86 views
1

我是OpenCV的初学者,甚至已经制定出hello world samples,inverting,color conversion(RGB-> greyscale)等程序的工作方式。 但是我被困在使用cvCanny,cvPyr和其他这样的特征探测器的程序中。如果微小的瑕疵被整理出来,真的很感恩。帮助使用OpenCV - 错误类型:标识符未找到

我得到的错误:错误C3861:“cvPyrDown”:标识符找不到 错误C3861:“cvCanny”:找不到

我已经包括了imgproc和features2d头但问题仍然存在标识。 我错过了什么?

回答

1

您是否正确设置了“附加输入目录”属性?

煤矿,由CMake的配置,如下所示:

C:/OpenCV-2.2.0/release 
C:/OpenCV-2.2.0/include 
C:/OpenCV-2.2.0/include/opencv 
C:/OpenCV-2.2.0/modules/core/include 
C:/OpenCV-2.2.0/modules/imgproc/include 
C:/OpenCV-2.2.0/modules/features2d/include 
C:/OpenCV-2.2.0/modules/gpu/include 
C:/OpenCV-2.2.0/modules/calib3d/include 
C:/OpenCV-2.2.0/modules/objdetect/include 
C:/OpenCV-2.2.0/modules/video/include 
C:/OpenCV-2.2.0/modules/highgui/include 
C:/OpenCV-2.2.0/modules/ml/include 
C:/OpenCV-2.2.0/modules/legacy/include 
C:/OpenCV-2.2.0/modules/contrib/include 
C:/OpenCV-2.2.0/modules/flann/include 

顺便说一句。如果您正在处理包含许多包含文件的库,OpenCV,则CMake是一个很好的工具。

您还可以查看其他两件事情:

  1. 编译后OpenCV2.2后,你有没有在OpenCV的VS解决方案打造的“安装”项目?
  2. 如果您正在使用C++头文件,你可能会在简历的命名空间更喜欢C++的那些功能版本, :

    CV ::坎尼(...)

+0

我使用CMake自己编译。在OpenCV sln下建立Install项目。建成成功。在VS 2010中的额外输入目录 - 我有这些目录在VC++其他包含目录列表中,但我得到相同的错误。我找不到其他包含目录类别。你能解释一下如何使用C++版本的函数吗? cos使用cv :: Canny(args)给了我Canny不是cv的成员的错误。感谢这样的详细回复:) – imeht 2011-05-02 05:48:11

+0

使用C++版本,包括#include Piotr 2011-05-02 10:50:40

+0

这样做:)我不相信我错过了这一点:O。感谢病人的回复。 – imeht 2011-05-03 03:57:49

0

这听起来像一个链接错误,而不是包含任何问题。你确定你正在链接cv.lib吗?

+0

我不看简历.lib anyhwere在opencv目录层次结构中。使用openCv 2.2版本。在链接器部分中,我在附加依赖项列表中有以下内容,需要添加什么内容? opencv_core220d.lib,opencv_highgui220d.lib,opencv_ml220d.lib,opencv_imgproc220d.lib, – imeht 2011-04-29 07:30:17

0

您需要将$(OPENCV_ROOT)/ lib目录添加到链接器路径中,以便知道在哪里搜索文件。

从描述中,我假设你使用的是Visual Studio?如果是这样,你有两个选择这样做。

  1. 将其添加到项目 - >属性 - >链接器 - >常规 - >其他库目录下的此项目。

  2. 为所有项目添加它:工具 - >选项 - >项目和解决方案 - > VC++目录 - >库文件。然后在那里添加文件夹。

+0

did didididnt解决了这个问题。 – imeht 2011-05-02 04:47:54