編譯OpenCV設計啟用OpenGL三維可視化支持和啟用GPU CUDA並行加速處理的基本知識:
1、從2.4.2版本開始,OpenCV在可視化窗口中支持OpenGL,這就意味着在OpenCV中可以輕松的渲染任何3D內容。但是由於當前版本(OpenCV2.4.2)在默認情況下不支持OpenGL,也許在將來的OpenCV版本中會默認支持利用OpenGL進行三維可視化。所以在當前版本中需要手工開啟支持OpenGL。這一點在利用CMake編譯OpenCV時從字段“WITH_OPENGL”默認未被勾選可以得到證明。
2、新版本的OpenCV可以利用GPU CUDA並行加速數據和圖像處理。官方公布的OpenCV二進制發行庫默認不支持利用GPU CUDA並行加速。如果需要編譯支持CUDA的OpenCV庫時,如果編譯計算機已經安裝了CUDA驅動程序和OpenCV運行時,在利用CMake編譯OpenCV時字段“WITH_CUDA”默認會被自動勾選上的。如果編譯計算機未安裝CUDA驅動程序和OpenCV運行時,CMake的字段“WITH_CUDA”默認就不會被自動勾選上。
上圖中,是因為本人的計算機安裝了CUDA6.5,故CMake會勾選上WITH_CUDA字段。
因為CUDA9.0的若干改動,在Window環境下編譯opencv源碼時會產生若干錯誤,先將錯誤整合如下:
1. Cmake生成vs工程文件發生錯誤如下:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED)
解決方案見:點擊打開鏈接
2.Visual Studio工程文件錯誤如下:
cmd.exe exit with code 1
Cmake修改CUDA_HOST_COMPILER參數
類似於/vs2015/VC/bin/x86_amd64/cl.exe
原因好像是無法自動檢測出compiler
3.Visual Studio工程文件錯誤:
C2610 等有關tuple的錯誤
Cmake去掉BUILD_PERF_TESTS和BUILD_TESTS
同時也可以減少編譯源碼時間。