
时间为友,记录点滴。
作为一名不务正业的程序员,怎么可能拿过来就用OpenCV的一堆眼花缭乱的功能呢?当然是先read the fucking source code,以及搞清楚这堆代码是怎么生成可以使用的lib的呢?
(先友情提示一下,最好全部路径都不要出现中文。)
一、下载源码
当然是github下载最新源码了。
opencv/opencvgithub.com
想当年第一次了解OpenCV的时候还是3.0,现在一不小心,已经4.1.1了。相较于3.0有什么重要更新呢?
1) 更新代码支持 c++11 特性,需要兼容 c++11 语法的编译器

2)增加 dnn 中的模块功能,新加了 Vulkan API 程序接口


3)集成了完整的 QR 码识别功能

4) 新加的 opencv_gapi 模块opencv/opencvgithub.com

5) 整体速度的提升

6) 增加流行的 Kinect 融合算法

7) DIS 稠密光流检测算法从 opencv_contrib 模块移到 opencv video 模块

二、下载安装CMAKE
啥是CMAKE?就是跨平台的编译工具。从哪里下?点我。
Download | CMakecmake.org写这篇文章的时候,最新的CMake版本是3.14.5,我们这个系列用的是Windows 64,就找Windows 64版本 download。
cmake-3.14.5-win64-x64.msigithub.com
安装完成后,可以在环境变量中看到有增加C:Program FilesCMakebin路径(如果你选择了增加Path到环境变量中)

三、编译
OpenCV和CMake都是开源的,但是我们这里先按住自己的小好奇,记住我们的首要任务是把OpenCV用CMake编译出来。
- 运行cmake
运行cmake-gui,如果没设置快捷图标,可以在cmake的安装目录C:Program FilesCMakebin找到cmake-gui.exe源文件。

- 配置
选择好source和bin的路径后,就可以点击左下角的Configure了,弹出来的按钮,我选择的是下面:


一般来说第一次配置都会出现下面的情况,一片红(A股要是一直都这样就好了)。不要紧,再点一遍Configure就好了,直到完全没有红色。


- Generate
到了这一步,点击Generate就可以啦。

四、编译
先看看我们上一步在配置中都有什么输出,在build的目录下面一定多了好多文件,找到OpenCV.sln文件。双击打开就可以了(需要关联了VS先)
直接F5,运行:
我的结果如下:编译84个项目,全部成功,但是执行失败。其实执行失败很正常,因为我们要编译出来的是bin文件,又不是exe文件。

可以搜索dll文件。

大功告成啦,我们可以用我们生成的这些文件,在以后的例子中,替换掉官方默认release的库。