OpenCV在VS2015中的配置总结

OpenCV在VS2015中的配置总结

  1. 借鉴的资料
    OpenCV官网教程----如何使用OpenCV在“微软Visual Studio”中构建应用程序:https://docs.opencv.org/3.4.4/dd/d6e/tutorial_windows_visual_studio_opencv.html
    【opencv】opencv在vs下的配置(持续更新):https://blog.csdn.net/hujingshuang/article/details/47082229
    【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置:https://blog.csdn.net/poem_qianmo/article/details/19809337
    VS配置openCV方法论:https://blog.csdn.net/honpey/article/details/8474462
    为什么要使用cmake+VS重新编译的opencv库?:https://blog.csdn.net/poinsettia/article/details/17005435

  2. 永久性配置
    此处的永久性配置是指完成此种配置后,今后再新建相同类型的项目,都不必再次进行OpenCV的配置,除非你把配置更改掉,方法就是浅墨在其教程中介绍的方法:https://blog.csdn.net/poem_qianmo/article/details/19809337
    <1>.配置环境变量
    计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:
    在这里插入图片描述
    例如,浅墨的就是
    D:\Program Files\opencv\build\x64\vc10\bin;D:\Program Files\opencv\build\x86\vc10\bin

    <2>.首先,是工程包含(include)目录的配置
    新建一个C++ Win32控制台应用程序,添加一个源文件;
    在菜单栏里面点<视图>–<属性管理器>,那么就会在visual studio中多出一个属性管理器工作区来;
    在这里插入图片描述
    在新出现的“属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(右键属性,或者双击)即可打开属性页面;
    在这里插入图片描述
    打开属性页面后,就是一番配置了。首先是在【通用属性】 ->【VC++目录】 ->【包含目录】中
    在这里插入图片描述
    添加上
    D:\Program Files\opencv\build\include
    D:\Program Files\opencv\build\include\opencv
    D:\Program Files\opencv\build\include\opencv2 这三个目录。
    在这里插入图片描述
    当然,这是之前把OpenCV解压到D:\Program Files\下的情况。实际的路径还要看你自己把OpenCV解压到了哪个目录下,根据你的实际情况来调节。

    <3>.工程库(lib)目录的配置
    其实这步和上一步差不多,属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)打开属性页面。
    接着上步,就是在【通用属性】 ->【VC++目录】 ->【库目录】中,
    在这里插入图片描述
    添加上D:\Program Files\opencv\build\x86\vc10\lib这个路径。(最好不要复制粘贴浅墨给出的路径,而是自己去预览里面指定出来,这样会准确得多)
    <4>.链接库的配置
    依然是“属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。【通用属性】 ->【链接器】->【输入】->【附加的依赖项】
    在这里插入图片描述
    对于【OpenCV2.4.8】,添加如下248版本的lib(这样的lib顺序是:19个带d的debug版的lib写在前面,19个不带d的release版的lib写在后面):

    opencv_ml248d.lib
    opencv_calib3d248d.lib
    opencv_contrib248d.lib
    opencv_core248d.lib
    opencv_features2d248d.lib
    opencv_flann248d.lib
    opencv_gpu248d.lib
    opencv_highgui248d.lib
    opencv_imgproc248d.lib
    opencv_legacy248d.lib
    opencv_objdetect248d.lib
    opencv_ts248d.lib
    opencv_video248d.lib
    opencv_nonfree248d.lib
    opencv_ocl248d.lib
    opencv_photo248d.lib
    opencv_stitching248d.lib
    opencv_superres248d.lib
    opencv_videostab248d.lib

    opencv_objdetect248.lib
    opencv_ts248.lib
    opencv_video248.lib
    opencv_nonfree248.lib
    opencv_ocl248.lib
    opencv_photo248.lib
    opencv_stitching248.lib
    opencv_superres248.lib
    opencv_videostab248.lib
    opencv_calib3d248.lib
    opencv_contrib248.lib
    opencv_core248.lib
    opencv_features2d248.lib
    opencv_flann248.lib
    opencv_gpu248.lib
    opencv_highgui248.lib
    opencv_imgproc248.lib
    opencv_legacy248.lib

    opencv_ml248.lib

    对于【OpenCV2.4.9】,添加如下249版本的lib(这样的lib顺序是:19个带d的debug版的lib写在前面,19个不带d的release版的lib写在后面):

    opencv_ml249d.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_objdetect249d.lib
    opencv_ts249d.lib
    opencv_video249d.lib
    opencv_nonfree249d.lib
    opencv_ocl249d.lib
    opencv_photo249d.lib
    opencv_stitching249d.lib
    opencv_superres249d.lib
    opencv_videostab249d.lib

    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
    在这里插入图片描述
    需要注意的是,所粘贴内容即为之前我们解压的OpencV目录D:\opencv\build\x86\vc10\lib下所有lib库文件的名字;其中的248代表我们的OpenCV版本为2.4.8,若是其他版本的配置则在这里要进行相应的更改,比如说2.4.6版的OpenCV,那么这里的opencv_calib3d248d.lib就要改成opencv_calib3d246d.lib了.

    Debug文件库名有d结尾,Release没有,如 opencv_ts248d.lib(debug版本的lib)和opencv_ts248.lib(release版本的lib)

    不过我一般是在这里把带d和不带d的统统写在这里,因为这里是以后创建所有工程时都会继承的公共属性。

    对于【OpenCV 3.0】,添加3.0版本的lib,新版的lib非常简单。想用debug版本的库,添加

    opencv_ts300d.lib

    opencv_world300d.lib 这两个库即可。

    而想用release版本的库,添加

    opencv_ts300.lib

    opencv_world300.lib即可。
    其实,对已经发行和未来即将发布的新版OpenCV,只需看opencv\build\x86\vc10\lib下的库是哪几个,添加成依赖项就可以了。
    另外注意:按照如上的这种方式来配置,也许会出现debug下可以运行但是release下不能运行的情况(因为字符串读取问题引起的诸如图片载入不了,报指针越界,内存错误等等),这算是OpenCV自2.4.1以来的一个bug。
    解决方案:想在release模式下运行出程序结果,在工程的release模式下,将不带d的lib(全部是19个)添加到【项目】->【属性】(注意这样打开的是当前工程的属性页,我们只需在这里将release版(即不带d)的相关lib添加进去)->【配置属性】->【链接器】->【输入】->【附加的依赖项】下即可。

  3. 一次性配置
    这里说的一次性配置是指只对当前项目有效,对于新建的项目无效。

    在Solution Explorer(解决方案资源管理器)栏,找到项目右键—>Properties—>Configuration Properties,在VC++ Directories中分别添加Include和lib路径,在Linker—>Input中添加.lib依赖项。具体配置过程跟上述过程相同。
    作者:hujingshuang 来源:CSDN
    原文:https://blog.csdn.net/hujingshuang/article/details/47082229

  4. 创建自己的项目属性表
    把设置的属性保存成一个文件,每次新建工程时只需要把属性文件导入即可,方法来自OpenCV官网教程:https://docs.opencv.org/3.4.4/dd/d6e/tutorial_windows_visual_studio_opencv.html
    在新出现的“属性管理器”工作区中,右键单击项目,单击“添加新项目属性表”,
    在这里插入图片描述
    之后按提示创建属性表,属性表的配置大致跟上述过程类似,但有些许不同。
    在这里插入图片描述
    首先,按照浅墨的教程,修改的三个地方分别是:
    (1).VC++目录–》包含目录;
    (2).VC++目录–》库目录;
    (3).连接器–》输入–》附加依赖项;
    而OpenCV官方教程是
    (1).C/C++ --》附加包含目录;
    (2).链接器 --》附加库目录;
    (3).连接器 --》输入–》附加依赖项;
    两个教程的修改内容是对应一样的,都可以运行。
    在这里插入图片描述

  5. 出现错误
    如果出现下述错误,是因为动态链接库路径没有配置好,即环境变量没有配置如果出现下述错误,是因为动态链接库路径没有配置好,即环境变量没有配置
    在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值