Windows10中OpenCV-4.3.0的快速编译与安装
每次装新系统或开新项目,都不可避免要重复做这件事,类似的记录很多,今天是装新机,重新记录一下,做个快速备忘。
最新版OpenCv已经到了4.3.0。以前的版本也有过一次记录,是关于vs2017的,在这里可以找到一些参考
https://blog.csdn.net/tanmx219/article/details/81452343
https://blog.csdn.net/ezhchai/article/details/80557936
但整体上感觉还是欠缺了准备工作部分和碰到某问题时的解决办法,这里补充一下。
好,言归正传。
首先,到这里:https://github.com/opencv 去下载OpenCV和OpenCV-Contrib,注意版本一定要一致,否则不能同时使用。比如我这里用OpenCV-4.3.0,那么另一个就是OpenCV-Contrib-4.3.0。当然这个contrib不是必须的,但是如果你要一些扩展功能比如某些特殊的算法,或人工智能模型导入什么的话,就需要这个contrib。
下载下来后解压缩到单独的文件夹,比如我直接解压缩后的地址是:
D:\OpenCV430\opencv-4.3.0 D:\OpenCV430\opencv_contrib-4.3.0
当然你可以解压到任意位置,只要地址与后面的配置一致即可。
前期准备:
1、安装Microsoft Visual Studio 2019
一般我安装的就是community版。
在https://visualstudio.microsoft.com/downloads/下载并安装最新的Community版
2、安装Nvida cuda-toolkit
在https://developer.nvidia.com/cuda-downloads下载并安装最新版的CURD,我安装的是10.1版,在默认的情况下,系统会自动创建环境变量,如果没有,你就手动建一个就行,
在命令行下执行control sysdm.cpl进入(或计算机->属性)系统属性 --> 高级 --> 环境变量--> 新建,变量名输入“CUDA_PATH”,变量值输入“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1”(实际的安装路径)。
3、安装cuDNN
在https://developer.nvidia.com/cudnn下载cuDNN。注意这要注册登录才能下载,比较麻烦,但只有耐心一步一步去注册和登录了。
下载后,将其解压,将其中的三个文件夹复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\下面对应的地方(同样能看到bin、include、lib目录的地方)。cuDNN安装教程上第3条说的分别复制,其实可以一起复制即可。
4、安装anaconda - python
通常我安装的是python3.6,现在最新的anaconda已经默认支持3.7了,如果你不需要anaconda的话,直接安装你需要的版本即可。
通常我会把anaconda配置好。Anaconda的话,建议还是安装 Anaconda3-2019.07-Windows-x86_64.exe或Anaconda3-2019.10-Windows-x86_64.exe, 主要是最新的版本目前还不稳定,已经有不少用户发现类似问题, https://stackoverflow.com/questions/60994368/anaconda-installation-stuck-at-setting-up-the-package-cache
你也可以到这里去下载过去的那些版本(下面两个域名其实是同一个IP地址), https://repo.continuum.io/archive/ https://repo.anaconda.com/archive/
安装完后再升级一下,以管理员身份运行以下命令即可(本人是如非必要,就不升级,嫌麻烦)
conda update --all
或
conda update conda
conda update anaconda
最后,检查一下你的环境变量,确认可以访问python.exe,如果路径中没有,就手动添加,比如我的python.exe是在 D:\Anaconda3\pkgs\python-3.7.4-h5263a28_0
另外,OpenCV还要求安装上numpy,顺便也装上就OK了(我常用的版本)
pip install numpy==1.16.4
5、配置cmake-gui
在Where is the source Code:中填入你的OpenCV解压的路径 D:/OpenCV430/opencv-4.3.0
在where to build the binaries:中走入你要生成的文件的存放路径 D:/OpenCV430/dev
然后点击Configure按钮开始配置,这时会弹出选项,选择vs2019,其余全部用默认的即可。
6、下载相关文件
到这一步,如果你的网络非常好,那基本就没什么问题了,如果你的网络和我的一样,那就老老实实手动下载了再配置吧!
具体怎么手动配置请参考我以前的贴子,这里也给出了ffmpeg的下载包: https://blog.csdn.net/tanmx219/article/details/101632917
这里有一个cmake生成的文件CMakeDownloadLog_opencv4.3.0.txt,里面详细记录了下载时碰到的异常情况,还有从哪里下载文件的信息,我就不一一贴出来了。
另外值得说明的是,如果ffmpeg下载也有问题,直接把三个ffmpeg文件下载下来之后,直接放到下面这个位置就OK了,
D:\OpenCV430\dev\3rdparty\ffmpeg
此时再configure的话,你应该可以得到一个没有报错的结果了。
7、配置其他
根据自己的需要,勾选
BUILD_SAMPLES (生成一些示例项目)
build_opencv_world (会成一个opencv_world*.dll的文件,供开发时使用)
OPENCV_ENABLE_NONFREE (一些有意思的算法)
在OPENCV_EXTRA_MODULES_PATH中填写:D:/OpenCV430/opencv_contrib-4.3.0/modules 这里的路径中要注意是斜杠,而不是反斜杠。这个是把opencv-contrib编译进opencv项目中。
整个过程你的网络会起到重要作用,网络不好的话,还是慢慢下载下来再手动安装吧!
到这里,网络好的话,再次configure,基本上不会有太多意外了。
8、生成项目和运行
点击generate按钮,此时可以生成项目了
9、打开项目,
vs2019弹出,一个宏大的项目打开了。慢慢编译吧 |^_^|