原文链接:http://www.juzicode.com/opencv-note-cmake-project-vs-windows
OpenCV除了提供可以直接使用的库文件,还可以下载其源码手动编译、制作库文件,不过源码中并没有提供可以直接编译的工程文件,需要借助CMake工具完成工程文件的构建。
获取源码
从官网opencv.org找到github链接,或者直接进入https://github.com/opencv/opencv/releases找到相应的版本,这里以4.5.3为例:

在该版本下有多个发布包,包含了Android、ios等版本,opencv-4.5.3-docs.zip为说明文档,opencv-4.5.3-vc14_vc15.exe是Windows系统下已编译的发布包,包含dll库,lib包,头文件等,如果不想从源码编译,可以直接在工程中使用该发布包。Source code 是其源码,包含了2种格式的压缩包,选择其中一个即可,这里我们选择下载zip格式的源码文件。
获取CMake工具
下载下来的源码解压缩后可以看到并不能直接编译,还需要用CMake工具将文件组织成工程形式。
OpenCV支持用CMake构建工程,首先到https://cmake.org/download/下载CMake工具:

CMake工具也提供了windows系统的各种版本,这里选择64位的免安装版本。CMake工具的64位和32位和最后生成的OpenCV工程bit版本无关。
构建工程
下载的免安装版解压后在bin目录下找到cmake-gui.exe,双击打开。
在“source code”一栏选择源码所在的目录,在”to build”一栏选择生成后的工程目录。

然后点击Congfig按钮,在弹框中选择编译器和目标平台版本,这里选择VS2015和x64版本:

点击Finish按钮等待一段时间,待状态栏提示“Configuring done”。

再点击Generate生成工程文件,等待状态栏提示“Generating done”。

编译工程
回到生成目录就能看到opencv.sln文件,。

双击打开sln文件就能看到整个工程文件,选择release版本,点击“生成-生成解决方案”就可以开始编译了,编译时长根据机器配置可能需要10-20分钟。

编译完成后再找到INSTALL工程,点击生成:

在cmake设置的”to build”一栏设置路径的install目录下就能看到头文件目录include和库文件目录x64:

在x64\vc14\bin目录下打开命令行输入opencv_version.exe就能查看opencv的版本号:

至此整个x64版本的构建、编译工作完成,如果要构建、编译x86(32位)版本,再回到CMake构建那一步重新设置to build目录,更换目标平台为x86重新走一遍。
