学习图像识别处理中会使用带sift和surf算法,但在opencv3.0.0版本后,由于版权问题,并不会直接集成默认安装,而是和其他“non-free”被集中在opencv_contrib中,所以当需要使用此功能时,需在配置OpenCV时同OpenCV源码一块编译。
软件环境:
win10
OpenCV3.0.0
opencv_contrib-3.0.0
cmake-3.8.2
VS2017
1.下载OpenCV3.0.0(本文及后续学习笔记均基于此版本),选择适合自己开发环境的opencv版本,此处为Win10 64位环境下进行开发。传送门
下载完毕后,得到安装文件.exe,进行安装即可。
安装后得到如下文件。
2.下载opencv_contrib-3.0.0,选择与opencv版本号相对应的下载。传送门 下载完毕后直接解压。
3.下载cmake-gui工具 传送门
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
选择需要的直接下载,下载完毕后不需安装,解压即用。
准备阶段完成。
安装与配置
1.opencv3.0.0的安装与配置。
在一中操作完成安装后,为了正常使用OpenCV开发,必须进行环境变量的配置。路径为 我的电脑–属性–高级系统设置–环境变量–path(路径)
64位系统的需要在path添加为:G:\opencv\opencv\build\x64\vc12\bin
32位系统应配置路径“;opencv安装路径\build\x86\vc12\bin”,但是3.1.0版本的OpenCV已经将x86这个目录删除了,也就是说在VS 2017环境下不能进行32位的OpenCV编译,此处为3.0.0可以进行。
环境变量需要重启后才可生效
此处发现x64文件夹下有vc11 vc12两个文件,对应的为vs的版本,vc11对应vs2012,vc12对应vs2013。
2.VS2017配置
要在VS中使用外部的类库的话,需要进行引入的一下配置,这个配置就包括:外部库目录指定和外部包含文件指定。新建一个控制台工程。
#include
#include //opencv相关库
#include
using namespace cv;
int main(){
// 读入一张图片(任意图片)
Mat img = imread("001.jpg"); //图片位于工程目录,也可从其他目录读图
// 创建一个名为 "检验"窗口
namedWindow("任意图片");
// 在窗口中显示任意图片
imshow("检验", img);
// 等待3000 ms后窗口自动关闭
waitKey(3000);