编译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
同时也可以减少编译源码时间。