2011-04-29 84 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