Windows编译OpenCV

需要用到的软件#

  • OpenCVOpenCV-contrib的源代码,都可以从GitHub上下载。两个文件的版本要一致,下载完后解压,简单起见,就分别解压到Z:\opencv-x.x.xZ:\opencv_contrib-x.x.x吧。
  • CMake,最新版的就ok,也是可以直接搜索然后下载安装的。
  • Visual Studio
  • Proxifier,国内特供,一款挺好用的代理软件
  • 自备一个梯子

暂时想到的就这么多了。

编译流程#

1. 配置cmake代理#

由于在CMake配置过程中需要下载诸如ffmpeg等文件,国内无法直接下载,所以需要用Proxifier给CMake的所有HTTP连接强制转发到代理上去,步骤主要有以下几点。

  1. 配置文件->代理服务器中,点击添加,填上自己的代理地址。
  2. 配置文件->代理规则中,点击添加,名称随便起一个,应用程序填cmake*,动作选Proxy HTTPS localhost
  3. 配置文件->名称解析中,把自动检测DNS设置的勾去掉,然后勾上通过代理解析主机名称

2. 配置cmake与编译#

打开cmake-gui,在Browse Source选中Z:/opencv-x.x.x,然后复制粘贴到下面的Where to build the binaries,改成Z:/opencv-x.x.x/build,戳Configure,使用自己安装的VS编译器,注意确保生成平台是x64就好了。

然后根据个人喜好改,如在OPENCV_EXTRA_MODULES_PATH填上Z:/opencv_contrib-x.x.x/modules,以及勾上OPENCV_ENABLE_NONFREE等……

改得差不多,就点Generate,然后再Open Project,进入VS中,把Debug改成Release,然后在解决方案资源管理器中找到CMakeTargets下的INSTALL,右键选生成,接下来就是漫长的等待了。

3. 整理环境变量#

一般而言,编译好后,文件都在Z:/opencv-x.x.x/build/install里,把install整个文件夹复制出来,改名为D:\OpenCV-x.x.x,把D:\OpenCV-x.x.x\x64\vcxx\bin添加到PATH中,就完事了。

如果在编译时附带也给Python装上的话,直接在Python里面敲import cv2就可以直接用了。

最后一点碎碎念。如果没记错的话,OpenCV 4.X把GPU给砍了,不能在GPU上跑SIFT,怪可惜的。

次回预告,RS纠错码从入门到跑路?