VS2013配置OpenCV2.4.10

VS2013配置OpenCV2.4.10

这是我的第一篇博客!
由于今天配置OpenCV出现了很多问题,花费了很长时间,查了很多资料,也参考了很多博客,最终成功解决了问题,所以我也下决心把自己解决问题的过程分享出来,希望也能给别人带来帮助~

一、下载

  • VS2013下载:这个大家自行下载吧。
  • OpenCV官网下载:https://opencv.org
    OpenCV官网
    点击Releases找到2.4.10版本下载在这里插入图片描述
  • 将 OpenCV-2.4.10.exe 解压并放到某个目录下,例如 D:\opencv

二、配置

(1)设置环境变量:右键单击我的电脑→属性→高级系统设置→环境变量→系统变量找到Path双击→新建系统变量如D:\opencv\build\x86\vc12\bin。(该路径要根据自身情况填写)
注意:

  • 关于选择x86还是x64的问题:是这样的,一开始我以为这个与计算机操作系统位数有关,查阅资料后发现不是。因为这个配置是让你在VS2013写代码的时候能够链接到OpenCV,所以是与VS2013操作的位数有关。所以你要先去VS2013看一下,怎么看呢?
         打开VS2013,选择“新建项目”如果出现的是Win32控制台应用程序,则OpenCV选择x86,(实际上VS2013Debug默认为Win32),如果是Win64的话,则选择x64。

  • 关于选择vc10、vc11、vc12的问题:vc10对应VS2010,vc12对应VS2013。

    (2) 环境变量配好之后,就要在VS2013里配置了。
    ① 打开VS2013,选择“新建项目”->“Win32控制台项目”
    在这里插入图片描述
    ② 注意选择空项目,为了保证使用ANSIC++特性,取消预编译头选项,单击“完成”按钮,创建项目,如图所示。
    在这里插入图片描述
    ③ 点击“视图”->“其他窗口”->“属性管理器”,展开可看到两个文件夹。
    ④ 右键点击“Debug|Win32”,选择“添加新项目属性表(P)…”,名字自定义。
    在这里插入图片描述
    ⑤ 新属性表创建之后双击,编辑该新属性表,点击左侧VC++目录,编辑右侧的包含目录表与库目录,分别添加对应的路径。对应的路径如下:
    包含目录:D:\opencv\build\include。
    说明:可根据自己的情况,将其分别改为opencv\build\include文件夹所在的路径
    库目录:D:\opencv\build\x86\vc12\bin。
    说明:可根据自己的路径情况将其改为对应的路径。
    在这里插入图片描述
    由于我已经添加过了,该图只是示例。在这里插入图片描述
    在这里插入图片描述
    ⑥ 单击左侧“链接器”->"输入”->“附加依赖项”,在附加依赖项里添加D:\opencv\build\x86\vc12\lib文件夹里的lib文件名称。
    我给出x86\vc12\lib的文件:
    opencv_calib3d2410d.lib
    opencv_contrib2410d.lib
    opencv_core2410d.lib
    opencv_features2d2410d.lib
    opencv_flann2410d.lib
    opencv_gpu2410d.lib
    opencv_highgui2410d.lib
    opencv_imgproc2410d.lib
    opencv_legacy2410d.lib
    opencv_ml2410d.lib
    opencv_nonfree2410d.lib
    opencv_objdetect2410d.lib
    opencv_ocl2410d.lib
    opencv_photo2410d.lib
    opencv_stitching2410d.lib
    opencv_superres2410d.lib
    opencv_ts2410d.lib
    opencv_video2410d.lib
    opencv_videostab2410d.lib

说明:opencv\build\x86\vc12\lib里面的库文件,文件名后面有小写字母“d”的为Debug库(调试模式库),没有“d”的为Release库(发布模式库)。末尾的2410是版本号,和你lib里面的文件一致的。比如,OpenCV2.4.3的lib文件的末尾数字为243。如果版本不一样,要改正,使其一致。上面只给出了带"d"的文件是因为全部文件加上去后续可能会出问题,详细看后面一些问题的解决。

三、 一些问题的解决

模块计算机类型x64与目标计算机类型X86冲突

我一开始环境配置的时候就出现了这个问题,因为我选择的是x64而不是x86,这个问题出现的原因:在于你选择的OpenCV的位数与VS2013中Debug的位数不一致导致的。
解决:在VS2013重新新建项目步骤重来一遍。(你也可以修改VS2013默认的Debug位数,网上有教程,我试过,但是后续还会出现问题,所以重新配置一下更快。)

无法找到core2410.dll和highgui2410.dll

原因:配置不正确
解决:
1.耐心重配一次;(我就是这样的,因为在x64和x86切换的时候估计出现了dll加载不上的问题)
2.将缺少的两个dll放置在跟项目同一级上。(网上参考过来的,这个问题是解决了,但是出现了新的问题)

VS+opencv 0x00007FF8C9134008 处(位于 ConsoleApplication2.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x000000A64DB9F478 处。

原因:跟上文说的一样,在链接器、输入、附加依赖项那里把所有lib文件添加了进去。
解决:把文件后面没有带“d”的.lib文件去掉。因为这些文件对应的应是Release | Wiin32的配置,与Debug无关。

四、测试是否配置成功

打开“解决方案资源管理器”,在源文件右键点击“添加”->“新建项”,新建c++文件后写入如下代码:
在这里插入图片描述

Test01.cpp

#include <opencv2\highgui\highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;

int main(){
	Mat image = imread("lena.jpg"); //此处我的图片是跟Test01.cpp在同一级下,可根据想要读取图片的路径进行更改。
 	if (!image.data){
		cout << "该图像不存在!请检查文件路径!" << endl;
	}
	namedWindow("My Image");
	imshow("My Image", image);

	waitKey(0);

	return 0;
}

读取成功!
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值