OpenCV配置,以2.4.9为例
最近在学习opencv,主要想用opencv进行
sift特征提取和匹配
。据说官网直接下载的版本里,3.0以上版本需要自己手动编译sift算法(主要是因为一些版权的原因),所以选了3.0以下版本2.4.9来用。
opencv249下载
上opencv官网https://opencv.org/下载需要的版本。
opencv249配置
1.
解压
下载下来的opencv249是一个.exe文件,双击,选定一个目录,解压。假设我们放的C盘。
2.
配置环境变量
点击计算机右键->属性->高级系统设置->高级->环境变量
在系统变量中,找到变量为path的项,点击编辑,在最后加上C:\opencv249\build\x64\vc12\bin,注意这个值和前面的变量用分号“;”隔开。
vc12对应的时 vs2013。实际上这个对应不是很严格,笔者曾经用vs2012对应opencv中的vc14,可以用,现在用vs2015对应vc12,也没什么问题。
Visual Studio 6 : vc6
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14
Visual Studio 2017 : vc15
3.
在VS中配置opencv
-
配置包含目录
在VS解决方案管理器中,点击要配置的工程,右键-属性-配置属性-C/C+±常规-附加包含目录,将这三个路径加进去
C:\opencv249\build\include
C:\opencv249\build\include\opencv
C:\opencv249\build\include\opencv -
配置附加库目录
在VS解决方案管理器中,点击要配置的工程,右键-属性-配置属性-连接器-常规-附加的依赖项,将这个目录加进去:
C:\opencv249\build\x64\vc12\lib,不要问为什么用x64,因为我的电脑是64位,目标程序也是65位。 -
配置附加的依赖项
在VS解决方案管理器中,点击要配置的工程,右键-属性-配置属性-连接器-输入-附加的依赖项,输入:
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
每行一项,这是release版本,如果要配置debug版本,需要将这些项目改成opencv_ml249d.lib,也就是在版本后面加上d。
注意
配置的时候,属性页有配置选项,选择需要配置release还是debug版本,平台是x64还是x32。笔者建议,都用x64吧。
如果您配置好,可以写相应的opencv程序了,在该电脑上也成功运行,拿到别的没有配置过环境变量的电脑上,可能无法运行,请将需要的dll文件和您的exe文件一起发布,可以解决这个问题。
经常换电脑,重装系统,换软件版本,每次都用配置,很烦,所以把过程大致记录下来。希望对读者有用。