**
参考资料:https://www.learnopencv.com/install-opencv3-on-windows/
**
自从进入3.X时代以后,OpenCV将代码库分成了两部分,分别是稳定的核心功能库和试验性质的contrib库,而且从3.1以后,编译好的版本中就没有现成的x86平台的库了,只有x64,想用就必须自己从源码编译。
配置cuda是为了利用GPU的加速。
opencv:https://opencv.org/releases.html
opencv_contrb下载:
https://github.com/opencv/opencv_contrib/releases
tbb下载(仅用于配置cuda所需)(存放路径中不要有中文):
https://github.com/01org/tbb/releases
cuda之前安装好了(cuda8.0);
【Where is the source code】放的是OpenCV解压后的源代码
我的是 C:\Users\6Qiang\Downloads\opencv-3.3.1【Where to build the linaries】放的是编译好的程序
我的是 C:\Users\6Qiang\Downloads\opencv-3.3.1\build
点击【Advanced】按照首字母排序
点击【Configure】之后会进入VS编译器的版本选择界面:
**Win64表示电脑是64位系统,不带64的表示电脑是Windows 32位系统,ARM表示芯片是ARM的电脑(如Visual Studio 14 2015 Win64)
(第一次Configure一定要联网,编译过程中,会下载第三方依赖库ffmpeg以及ippicv)
contrib库的配置
找到OPENCV_EXTRRA_MODULES_PATH项,后面添加opencv_contrib-3.3.1中的modules目录
(如I:\软件\专业软件\opencv_contrib-3.3.1\modules)
WITH栏配置
(WITH_CUDA,WITH_FFT,WITH_CUBLAS应该是默认选中的)
选中WITH_EIGN,WITH_TBB
如果不编译cuda,则搜索所有包含cuda的项目,然后删掉其后面的信息,以免安装时出现错误。
我下载的tbb放在了C:\Users\6Qiang\Downloads\tbb2018_20171205oss
注:此处tbb存放路径不要有中文,之前我一直编译错误后来发现都是这和中文路径惹的祸
TBB_VER_FILE:添加tbb_stddef.h的目录
(如C:\Users\6Qiang\Downloads\tbb2018_20171205oss\include\tbb\tbb_stddef.h)
说明:Cmake中红色的部分说明还没有更新,需要点击Configure更新,每次更改完一些配置或者参数之后都要点击Configure更新一下。最后确定配置无误了再点Generate,将会在你的目标文件夹中生成项目文件。
Configuring done
Generating done
打开cmd,转到自己的编译后的目录(我的是C:\Users\6Qiang\Downloads\opencv-3.3.1\build),运行以下命令。
Release模式下编译:
cmake.exe --build . --config Release --target INSTALL
Debug模式下编译:
cmake.exe --build . --config Debug --target INSTALL
编译完成之后,你会在你的目标文件夹中找到一个install文件夹,里边就有Debug和Release的各种你需要的东西。(把install文件夹内容复制出来即可)
而没有cuda的编译,debug花了13分钟,release花了18分钟。
而加入cuda后的编译,debug、release各花了6个小时左右。
一共连续搞了5天的编译,按照网上的步骤一开始各种出错,后来参考国外博客的编译,成功了终于编译了十几个多小时,总结出了自己的编译步骤。
最后,编译成功了。(没有错误,带有cuda的一共有9万多个警告,都是些字符格式警告,不影响)
具体配置步骤参考我的另一片文章:http://blog.csdn.net/luqiang6q/article/details/78935105
Release版称为发行版,Debug版称为调试版。 Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。
我觉得先用release,遇到问题了再用debug,最后发布用release(release的速度比debug快很多)。
opencv_aruco331d.lib
opencv_bgsegm331d.lib
opencv_bioinspired331d.lib
opencv_calib3d331d.lib
opencv_ccalib331d.lib
opencv_core331d.lib
opencv_cudaarithm331d.lib
opencv_cudabgsegm331d.lib
opencv_cudacodec331d.lib
opencv_cudafeatures2d331d.lib
opencv_cudafilters331d.lib
opencv_cudaimgproc331d.lib
opencv_cudalegacy331d.lib
opencv_cudaobjdetect331d.lib
opencv_cudaoptflow331d.lib
opencv_cudastereo331d.lib
opencv_cudawarping331d.lib
opencv_cudev331d.lib
opencv_datasets331d.lib
opencv_dnn331d.lib
opencv_dpm331d.lib
opencv_face331d.lib
opencv_features2d331d.lib
opencv_flann331d.lib
opencv_fuzzy331d.lib
opencv_hdf331d.lib
opencv_highgui331d.lib
opencv_imgcodecs331d.lib
opencv_imgproc331d.lib
opencv_img_hash331d.lib
opencv_line_descriptor331d.lib
opencv_ml331d.lib
opencv_objdetect331d.lib
opencv_optflow331d.lib
opencv_phase_unwrapping331d.lib
opencv_photo331d.lib
opencv_plot331d.lib
opencv_reg331d.lib
opencv_rgbd331d.lib
opencv_saliency331d.lib
opencv_shape331d.lib
opencv_stereo331d.lib
opencv_stitching331d.lib
opencv_structured_light331d.lib
opencv_superres331d.lib
opencv_surface_matching331d.lib
opencv_text331d.lib
opencv_tracking331d.lib
opencv_video331d.lib
opencv_videoio331d.lib
opencv_videostab331d.lib
opencv_viz331d.lib
opencv_xfeatures2d331d.lib
opencv_ximgproc331d.lib
opencv_xobjdetect331d.lib
opencv_xphoto331d.lib
opencv_aruco331.lib
opencv_bgsegm331.lib
opencv_bioinspired331.lib
opencv_calib3d331.lib
opencv_ccalib331.lib
opencv_core331.lib
opencv_cudaarithm331.lib
opencv_cudabgsegm331.lib
opencv_cudacodec331.lib
opencv_cudafeatures2d331.lib
opencv_cudafilters331.lib
opencv_cudaimgproc331.lib
opencv_cudalegacy331.lib
opencv_cudaobjdetect331.lib
opencv_cudaoptflow331.lib
opencv_cudastereo331.lib
opencv_cudawarping331.lib
opencv_cudev331.lib
opencv_datasets331.lib
opencv_dnn331.lib
opencv_dpm331.lib
opencv_face331.lib
opencv_features2d331.lib
opencv_flann331.lib
opencv_fuzzy331.lib
opencv_hdf331.lib
opencv_highgui331.lib
opencv_imgcodecs331.lib
opencv_imgproc331.lib
opencv_img_hash331.lib
opencv_line_descriptor331.lib
opencv_ml331.lib
opencv_objdetect331.lib
opencv_optflow331.lib
opencv_phase_unwrapping331.lib
opencv_photo331.lib
opencv_plot331.lib
opencv_reg331.lib
opencv_rgbd331.lib
opencv_saliency331.lib
opencv_shape331.lib
opencv_stereo331.lib
opencv_stitching331.lib
opencv_structured_light331.lib
opencv_superres331.lib
opencv_surface_matching331.lib
opencv_text331.lib
opencv_tracking331.lib
opencv_video331.lib
opencv_videoio331.lib
opencv_videostab331.lib
opencv_viz331.lib
opencv_xfeatures2d331.lib
opencv_ximgproc331.lib
opencv_xobjdetect331.lib
opencv_xphoto331.lib
我的在C:\Users\6Qiang\Downloads\tbb2018_20171205oss\bin\intel64\vc12下面
附上自己已经编译好的资源链接:http://download.csdn.net/download/luqiang6q/10180887