最新的Opencv2.4.13.6在Visual studio 2015下的配置(win7-64位)(转)
说明:
1. 视觉库:Opencv2.4.13.6; 软件:Visual studio 2015 ;系统 :Win7 64位
2. 注意到有作者在博客https://blog.csdn.net/lfw198911/article/details/52649459里说到了Opencv2.4.13只支持到VC12,然后用VC14(vs2015)会存在丢失DLL的情况,现在更新的Opencv2.4.13.6是支持VC14的。
3.选择VS2015,也是因为它2.4.XX系列和3.1.XX系列都支持,以后打算根据需要换,VS的话就想一步装到位
OpenCV是一个广泛使用的基于BSD许可(开源)发行的跨平台计算机视觉库。对Opencv视觉库有所接触的都知道,OpenCV视觉库现有2.XX和3.XX版本,且这两个版本并不完全兼容。opencv3是在opencv2的基础上修改的,但两个版本还是有一定的区别,库收录和库调取还是略有不同。Opencv2的程序并不能完全直接在opencv3上运行。
Opencv作为开源视觉库,有很多其它大牛或是学者提供的算法,可以拿来使用。在学习的时候就发现,有很多经典的例程都是用的Opencv2,前期学习的时候还是先安Opencv2,当然Opencv3也要安装以满足需要,后期我试了再说两个版本怎么配置同时使用,应该也差不多,选好合适的Visual studio版本和Opencv2和opencv3的版本。以前两个版本都有用过,配置方式只有略微的不同。
又重装了系统,因此准备先配置使用Opencv2里最新的Opencv2.4.13.6,使用VS2015。配置前一般要先问下度娘合适的相配的VS版本。
刚刚下载了Opencv2.4.13.6,下载地址为 https://www.opencv.org/releases.html ,链接里也有opencv的其它版本。同时使用Visual Studio 2015。使用的Windows7 64位环境。网上也有其他的教程,可以找一下。
一、Opencv2.4.13解压
双击解压即可,复制下解压路径.反正库文件放在一个不易变动的地方,一定别放在桌面
二、系统环境变量的配置
需将opencv的库添加到环境变量里,可以索引到库文件。
计算机-》右键属性-》-》高级系统设置-》高级-》环境变量
然后找到按下图的路径找到VC14下的bin文件夹。 VC14代表VS2015的兼容版
在系统变量处添加一下路径,然后保存
三、VS2015里的配置
(1)新建一个Win32控制台项目
确定后进入下一步
这样新项目就创建好了
然后右击源文件,即可添加一个C++文件
(2)项目属性配置,在菜单栏的视图上找到属性管理器窗口,点击打开,也可能会隐藏在“其他窗口”里面
系统为64位,选择,debug X64,默认为X86,自行调整,然后找到Mircrosoft.Cpp.X64.user,双击配置属性
(3)属性页里的VC++里的包含目录
下拉编辑包含目录
本人的里面的包含目录,
E:\OPENCV2.4.13.6\opencv\build\include
E:\OPENCV2.4.13.6\opencv\build\include\opencv
E:\OPENCV2.4.13.6\opencv\build\include\opencv2
(4)属性页里的VC++里的库目录
编辑库目录
(5)添加依赖项 (就是opencv提供的库文件)
下拉编辑依赖项
以下为opencv2.4.13的依赖项,可以直接复制
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_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib
然后就配置好了,应用保存,然后在网上随便找一段测试程序进去,能用说明配置的没问题。
测试代码就不贴了。第一篇博客写的好长。
再贴一个测试代码,用来测试一下问题
#include<opencv2\opencv.hpp>
using namespace cv;
int main(){
Mat picture = imread("test.jpg"); //图片和test.cpp文件放在同一个文件夹下
imshow("测试程序", picture);
waitKey(0);
}
使用opencv staticlib静态库
目的
调用opencv静态库staticlib实现应用脱离opencv配置
环境配置
- win10 + vs2013
- opencv249
参考
配置过程
在vs2010以上版本中,可以使用属性管理器新建属性页来管理工程属性,这样以后在新建相同配置的工程时,只需要将“属性配置文件”导入到新的工程中即可。
库文件名挨个复制太麻烦? 试试我的自制小工具
文件名快速提取工具,可以匹配”d.lib”,方便快捷
Debug模式
-
- 新建win32控制台应用程序
- 新建属性页 opencv249_vc12_x86_static_debug
- 编辑属性页面
- 【VC++目录】–【包含目录】 D:\opencv\opencv2.4.9\include
- 【VC++目录】–【库目录】 D:\opencv\opencv2.4.9\x86\vc12\staticlib
-
添加依赖库名称【链接器】–【输入】–【附加依赖项】
(1) 非opencv库(必须)vfw32.lib comctl32.lib
-
(2) OPENCV库(可以选择需要的)
设置运行库【C/C++】–【代码生成】–【运行库】–“多线程调试/MTD”(具体每种的含义,参考IlmImfd.lib libjasperd.lib libjpegd.lib libpngd.lib libtiffd.lib opencv_calib3d249d.lib opencv_contrib249d.lib opencv_core249d.lib opencv_features2d249d.lib opencv_flann249d.lib opencv_gpu249d.lib opencv_highgui249d.lib opencv_imgproc249d.lib opencv_legacy249d.lib opencv_ml249d.lib opencv_nonfree249d.lib opencv_objdetect249d.lib opencv_ocl249d.lib opencv_photo249d.lib opencv_stitching249d.lib opencv_superres249d.lib opencv_ts249d.lib opencv_video249d.lib opencv_videostab249d.lib zlibd.lib
- )