2015-10-15 142 views
0

我想使用跟蹤器,在OpenCV 3.0 documentation site上描述。在OpenCV 2.x中,有必要重新編譯包括contrib庫在內的OpenCV。但正如在OpenCV 3文檔中那樣,我想我不必重新編譯它,對吧?但是我必須在C++中包含什麼?OpenCV 3.0包含跟蹤器

我試圖做這個退出一段時間,並沒有找到任何解決方案。謝謝!

編輯 謝謝!重新編譯過程對我來說沒有任何錯誤。我還有幾個錯誤:他沒有找到'opencv_highgui300d.dll','opencv_imgcodecs300d.dll'和'opencv_core300d.dll'。

我解決了這個問題,因爲我已經在「路徑」系統變量更改爲

...\cmake-output\vc12\x86\install\x86\vc12\bin

回答

5

據我所知跟蹤模塊仍然是在「contrib」模塊中。

您必須使用可從this github repo下載的contrib部分重新編譯OpenCV 3.0。當您使用CMake編譯OpenCV時,必須指定OPENCV_EXTRA_MODULES_PATH屬性作爲您提取模塊的位置。

如果您有任何問題,只是讓我知道:)

[編輯]

  1. 下載OpenCV的here和OpenCV_Contrib模塊從here。解壓縮並將它們放在同一個目錄中(我把它放在D:/ OPENCV-BUILD中)/
  2. 打開CMake並將源代碼路徑設置爲D:/ OPENCV-BUILD/opencv-master
  3. 設置在D:/ OPENCV-BUILD/cmake-output/vc12/x86中創建「二進制文件」路徑。在這裏,VC12是VS2013和使用的平臺工具集的目標平臺(你可以構建它針對x64也)
  4. 按設置按鈕,選擇您的發電機(又名編譯器,你想使用)。選擇的Visual Studio 12 2013(爲版本)或的Visual Studio 12 2013 Win64的(爲版本)。
  5. 等到配置完成。紅線一堆會出現,dont't擔心它是以下行都好:)
  6. 搜索,並取消他們:

WITH_CUDA - >這將禁用GPU加速支持使用CUDA算法技術。您也可以使用CUDA支持構建庫,但它稍微複雜一些,需要更長的時間。如果你不需要它,取消選中它:)

BUILD_DOCSBUILD_PERF_TESTSBUILD_TESTS。這些只是圖書館模塊的一些測試(我從來沒有使用過)...再次,如果你不需要它們,取消檢查它們:)

與Matlab關聯的所有東西(if你有這些選項)。我安裝了Matlab,CMake想爲OpenCV創建一些Matlab綁定。我有一些問題,在編制這些選項的庫,所以我刪除了他們(見下圖)

enter image description here

  • 搜索「額外」,並在OPENCV_EXTRA_MODULES_PATH設定路徑到 「模塊」 的文件夾於contrib模塊(我的是D:/OPENCV-BUILD/opencv_contrib-master/modules
  • enter image description here

  • 現在再次點擊「配置」按鈕。等到它顯示「配置完成」,然後按下「生成」按鈕。我們完成了CMake!

  • 在您選擇的輸出文件夾(D:\OPENCV-BUILD\cmake-output\vc12\x86)中,您會看到OpenCV.sln。使用VS2013打開它。

  • 在Visual Studio中,選擇您想要構建的配置(我建議您爲Debug和Release構建這兩個配置)。假設您先選擇「調試」。現在右鍵點擊解決方案並選擇「Build Solution」。等到它完成。

  • 在'CMakeTargets'文件夾中,您會找到一個名爲INSTALL的項目。右鍵點擊它並選擇'Project Only - > Build Only INSTALL')。這將創建一個名爲install的新文件夾,並將構建結果複製到那裏(libs,dlll,include文件等)。
  • enter image description here

    爲 '推出' 配置
  • 重複步驟10和11。
  • 這些步驟後,你將有你在你的安裝文件夾所需要的文件(我的是D:\OPENCV-BUILD\cmake-output\vc12\x86\install
  • +0

    謝謝:)!所以我嘗試了這一點,並將其編譯爲一個名爲'release'的新文件夾。這工作正常,沒有任何錯誤。但是,我還需要做什麼?我讀到我必須在我的發佈文件夾中編譯OpenCV.sln文件,對嗎?或者我可以只添加新版本文件夾到VS中的目錄路徑?再次感謝你,你對我的幫助很大!:) – black

    +0

    在完成CMake中的設置之後,代碼被「生成」,而不是「編譯」。你必須打開OpenCV.sln文件並編譯它所需的平臺和模式(例如x86,Release或x64 Debug等) – rhcpfan

    +0

    好吧,我明白了。將CMake中的構建目錄設置爲OpenCV文件夾中的新文件夾還是應該將構建目錄設置爲OpenCV中已存在的構建文件夾? – black