相信很多刚开始接触opencv的小白,一开始肯定被opencv丰富的API所折服,使用其自带的函数,可以大大提升工作的效率。但是深入接触后,会发现由于opencv的更新的速度很快,很多代码的编写方式也出现了较大的改动。尤其是opencv2.4和opencv3.x系列,很多头文件都不匹配。我之前一直用的opencv3.1版本的,后来因为做实验,要用到 SURF、SurfFeatureDetector、SurfDescriptorExtractor 这三个类。可是3.1版本的并不支持这三种类别。无奈之下,一开始想添加扩展库,但是使用Cmake 扩展时,出现了各种Bug。后来就想到,能不能同时绑定两个版本的opencv。于是乎,就有了本篇博文,经实际操作,确实实际可行。我在Debug_x64下绑定了opencv3.1,在Debug_x86下绑定了opencv2.4 。现在就可以在opencv2.4和opencv3.1的版本下自由的切换了。各位看官还请注意,这只能是在一个工程下,选择性的使用opencv2.4和opencv3.1, 并不能在同一个工程下,同时使用3.1和2.4的版本。话不多说,还请各位直接看下面的教程。
一. 首先是配置opencv3.1和opencv2.4的环境变量
1. 1 控制面板\系统和安全\系统 下 找到高级系统设置 点击进入环境变量
在用户变量下找到Path分别配置如下
最好采用 浏览的方式添加文件路径名,这样不容易出错
1.2 在用户变量下新建两个用户变量 opencv3.1 和opencv2.4
1.3 最后是在环境变量中找到Path 编辑 添加两个新目录
二. 打开VS2015 分别在项目中,配置opencv3.1和opencv2.4的依赖包
2.1 在视图---其他窗口--点击选择 属性管理器
2.2 在Debug|win32 下 新建属性表 opencv2.4_debug_x86
具体配置如下:
包含目录:
E:\opencv2.4\build\include\opencv2
E:\opencv2.4\build\include\opencv
E:\opencv2.4\build\include
库目录:
E:\opencv2.4\build\x86\vc14\lib
链接器->输入->附加依赖项:
Debug版本:
opencv_ml2413d.lib
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_objdetect2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_nonfree2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_videostab2413d.lib
Release版本:
opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
opencv_nonfree2413.lib
opencv_objdetect2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_videostab2413.lib
2.3 同理在另一个工程的 Debug|x64 下添加属性表 opencv3.1_x64_debug
具体配置如下:
包含目录:
E:\opencv3.1\build\include\opencv2
E:\opencv3.1\build\include\opencv
E:\opencv3.1\build\include
库目录:
E:\opencv3.1\build\x64\vc14\lib
链接器->输入->附加依赖项:
Debug版本:
opencv_world310d.lib
Release版本:
opencv_world310.lib
最后谈一下几条注意事项:(敲黑板!!!)
1.看清自己的opencv是多少版本的,我的是opencv2.4.13的,2.4的版本不同,依赖项那里可能需要做调整
2.配置环境变量是最好是通过浏览的方式添加,不要直接复制或者手动敲上去,容易识别出错
3.配置完环境变量最好是需要重启下电脑的
4.运行工程时要选择完运行的平台,win32下使用的是opencv2.4 x64下使用的是opencv3.1
至此大功告成,现在可以使用的你的VS2015 在opencv2.4版本和opencv3.1版本间,自由的切换了。祝各位成功。