OpenCV 2.4.9 + CUDA 6.5 + Visual Studio 2013 [中文教程]
【原文:http://tieba.baidu.com/p/3329042929】
- 首先宣告,因為我需要用CUDA,所以需要用CUDA來重新編譯OpenCV的原始檔。如果不用GPU,可以直接下載預編譯好的庫
- 接著,我不用OpenCV 3.0 是因為有些CUDA的檔案不一樣了,如果想編譯OpenCV 3.0 + CUDA,過程跟下面是一樣的
- 我用了 TBB 才編譯成功,不用的話會報錯,還沒搞清楚為什麼
1. 需要的檔案
1.1 CMAKE 3.0 [http://www.cmake.org/download/]
1.2 CUDA 6.5 [https://developer.nvidia.com/cuda-toolkit]
1.3 OpenCV 原始檔 [https://github.com/Itseez/opencv/releases/tag/2.4.9]
1.4 Intel TBB 庫 [https://www.threadingbuildingblocks.org/download]
1.5 Python 2.7 (非必須)
1.6 Eigen 2.0.17 (非必須)
1.7 Visual Studio 2013 (也可以用其他版本)
2. 配置 CMAKE
2.1 開啟 CMAKE
- 選擇 Source Folder 到 OpenCV 的原始檔目錄
- 選擇 Output Folder
- 勾選 Advanced
2.2 點 Configure,選擇編譯器
- 選擇 ‘Visual Studio 12 2013 Win64′
2.3 配置 CUDA 選項
- 取消 ‘BUILD_DOCS’ and ‘BUILD_EXAMPLES’
- 取消 ‘CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE’
- 檢查 ‘CMAKE_LINKER’, 保證是 Visual Studio 12.0 (vs2013)
- 選上 ‘WITH_CUBLAS’, ‘WITH_CUDA’, ‘WITH_OPENGL’, ‘WITH_TBB’
- 點選 Configure 重新整理配置
2.4 配置 TBB 選項
- 把 tbb include path 設定好,例如我的是 “D:\toolkits\tbb43_20140724oss\include”。一定要選到 include資料夾為止。
- 點選 Configure 重新整理
- 接著可以看到 tbb 的 library 目錄自動有了,但是可能是錯的,需要改到 Debug 和 Release 資料夾的上級目錄為止。例如我的要加上 ‘vc12*,變成 D:/toolkits/tbb43_20140724oss/lib/intel64/vc12〃
- 點選 Configure 重新整理
2.3 點選 Generate 生成 OpenCV.sln
3. 修改 OpenCV 原始檔
- 開啟 ‘opencv-2.4.9\modules\gpu\src\nvidia\core\NCV.cu’ 加上 #include <algorithm>。不然編譯時候會有 *max* undefined error
4. 編譯 OpenCV.sln
- 如果 OpenCV,tbb,Python 中的某個安裝在 C:\Program Files,那麼你需要用管理員許可權執行 vs2013 才行
- 我建議先編譯 *opencv_core* 和 ‘ opencv_gpu* (右鍵點選,點 *BUILD*)。如果這兩個沒錯,接下來應該都可以編譯
- 右鍵點選 *ALL_BUILD*,在點 *BUILD*
- *BUILD* 之後在編譯一下 *INSTALL*,來把編譯好的檔案放在一起到 *<Output Folder>\install*
- 在切換到 Release,重複 *ALL_BUILD* 和 *INSTALL*
- *Debug* 應該會有一個 error, *Release* 應該會沒有 error
- 編譯時間很長。很長。
5. 使用時的問題
- 用 objdetect.hpp 時,我碰到 *std::min* 的 error。我把 *std::* 刪掉就好了
- matrix.h 裡,碰到 free() 有 error。我把 *free()* 改成 *_free()* 就好了
- tbb 的 dll 檔案需要加到系統 Path 裡面。(右鍵點我的電腦 -> 屬性 -> 高階系統設定 -> 環境變數 -> 找到 Path -> 加上 tbb 的 bin 資料夾路徑,我的是 *D:\toolkits\tbb43_20140724oss\bin\intel64\vc12*
相關文章
- cuda的 visual studio 環境配置
- Visual Studio 2013 prerequisitesUI
- windows+caffe+vs2013+cuda6.5配置記錄Windows
- 使用Visual Studio 2005 撰寫CUDA 程式
- 使用 Visual Studio 2005 建立新 CUDA 專案
- Opencv2.4.9原始碼分析——HoughCirclesOpenCV原始碼
- Visual Studio部署C++環境下OpenCV庫C++OpenCV
- 微軟程式碼編輯器Visual Studio Code Mac中文設定教程微軟Mac
- OpenCV(c++)-1 安裝和配置OpenCV4.4(Windows+visual studioOpenCVC++Windows
- 學習Opencv2.4.9(四)---SVM支援向量機OpenCV
- CUDA中文教程02之心得體會
- CUDA中文教程03之心得體會
- Visual Studio 2013 Preview新功能預覽View
- Visual Studio 2013 RTM版正式釋出
- Visual Studio 2013 和 ASP.NET 預覽ASP.NET
- windows下基於cmake配置opencv並使用visual studio編譯WindowsOpenCV編譯
- 在Visual Studio 2013中配置Entity Framework使用MySQLFrameworkMySql
- Visual Studio Community 2013 功能完整 免費使用Unity
- Visual studio 2013安裝及單元測試
- OpenCV(c++)-1 安裝和配置OpenCV4.4(Windows+visual studio 2019)OpenCVC++Windows
- Visual Studio C++ 安裝以及使用教程C++
- opencv4.5 帶cuda 安裝OpenCV
- 將Visual Studio Code的介面語言設為中文
- Visual Studio 2013安裝及番茄助手配置過程
- Visual Studio 2013 釋出正式版及使用感受
- Visual studio 2013的安裝和單元測試
- Xamarin XAML語言教程使用Visual Studio建立XAML
- [Visual studio code 常見問題解決] ——中文亂碼、
- Visual Studio Code(VSCODE)語言設定為中文VSCode
- 將 Visual Studio .net 程式碼註釋 英文轉為中文
- Visual Studio 2013 (vs2013)中“向前定位”,“向後定位”按鈕
- Windows下Visual Studio 2013編譯Lua 5.1.4版本Windows編譯
- Visual Studio 2013首個補丁包Update 1釋出!
- 安裝Visual studio 2013並進行單元測試
- Visual Studio Code
- C++之OpenCV入門到提高001:使用 Visual Studio2022 配置 OpenCV 環境C++OpenCV
- cuda安裝教程
- Visual Studio 2022安裝SVN外掛教程