VS2013配置OpenCV3.4.0

首先,结尾有彩蛋。

我笔记本安装的是win7+ubuntu14.04双系统,最近想使用windows上的vs+opencv测试一些程序,因为看论文的需要还是使用win比较方便,最近尝试人体检测,使用Yolo的方法,要求opencv版本在3.4以上,所以只好重新配置opencv。

在这里我主要参照的是这篇博客

关于vs2013+opencv3.4.0只要百度会出现很多教程,在这里我主要记录一下我配置过程中遇到的问题,以便今后查阅。

2018.7.15更新部分:

经验教训:要安装opencv就要安装全,否则就会像我一样没完没了重新安装

安装opencv3.4.0+contrib,注意opencv版本和conrib版本必须完全一致。

准备的工具:cmake,opencv3.4.0,opencv3.4.0-contrib

cmake下载链接

opencv3.4.0可以在官网上下载

opencv3.4.0-contrib可以在此链接下载

一 Cmake工具编译OpenCV源码

首先在opencv官网要使用选择opencv源码版(Sources)下载,解压,在这里,选择源码编译的原因是我们要安装opencv3.4.0+opencv3.4.0_contrib。

然后下载cmake 链接:https://cmake.org/files/v3.10/cmake-3.10.2-win64-x64.zip

    然后将解压后的文件放在自己建立的opencv文件夹内,并在文件夹内建立cmake要用到的build文件夹,在这里命名为opencv-3.4.0_vs2013_x64, 如下图所示:

将解压后的opencv3.4.0_contrib也放到opencv目录中。

然后打开cmake,在/bin下双击cmake-gui.exe对opencv源码进行编译,source code的路径选择选择opencv源码所在的路径,在这里我的路径是:E:\opencv-3.4.0\opencv-3.4.0,where to buid的路径选择刚才新建的build文件夹,在这里我的路径是:E:\opencv-3.4.0\opencv-3.4.0_vs2013_x64。

在search部分搜索:OPENCV_EXTRA_MODULES_PATH,在后面的路径上添加上自己下载的<opencv_contrib>/modules的路径,例如,我的路径是: E:\opencv-3.4.0\opencv_contrib-3.4.0\modules

点击Configure按钮开始编译,之后会如下图所得示,显示一些编译选项,网上大部分教程都建议取消勾选with_cuda选项,对此我想到以前在Nvida jetson TX1上安装opencv同样遇到了opencv与TX1系统自带的cuda冲突的问题,一定要在cmake选项中关闭编译cuda,所以在这里我们同样关闭with_cuda。

再次点击Configure后下方显示configure done,然后点击Generate,下方显示Gernerate done,然后点击Open Project会启动vs2013。到这里opencv的编译工作接完成了。

 

二 使用VS编译

在编译生成完成后,就可以打开vs生成.dll动态链接库了。

编译完成后,在build问价夹中,也就是我们的opencv3.4.0_vs2013_x64文件夹中找到OpenCV.sln,使用vs打开。

在解决方案管理器上右键点击:重新生成解决方案(需要等待很长一段时间)

然后在CmakeTarget中找到INSTALL,右键->仅用于项目->生成

在这里需要注意的是把debug和release都编译一遍。

 

三 配置VS2013

在点击Open Project按钮后 ,打开的vs界面如下图所示,在这里我忘记截图了,所以借用该博客的图和步骤来说明一下,具体步骤这篇大神的文章已经给说的很详细了,这篇文章配置的是opencv3.3.0,配置3.4.0时,步骤也基本相同。

这里需要记录的就是按上述步骤完成配置后,测试打开图片的程序,会出现类似如下图所示的错误:

在这里我们会需要将E:\opencv-3.4.0\opencv-3.4.0_vs2013_x64\bin\Debug路径下所有*d.dll文件都复制到C:\Windows\System32路径下,亲测可以解决该问题。

接下来我在测试打开图片的程序中会遇到如下报错:OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow

在网上查找之后找到解决办法那就是需要在要打开的图片前加上绝对路径,即使图片就在工程文件夹下也不行,在这里附上测试程序源码:

#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
	Mat image = imread("E:\\vsprogram\\Opencv3.4.0_TestDemo\\img.jpg",1);
	imshow("img", image);
	waitKey(0);

	return 0;
}

试程序运行成功如下图所示:

 

参考链接:

https://blog.csdn.net/hust_bochu_xuchao/article/details/78952481

https://blog.csdn.net/qq_16761599/article/details/78212751

在这里附加opencv3.4.1的debug和release版本的动态依赖库(注意本文中配置的是opencv3.4.0,下面的动态库是opencv3.4.1)

debug
opencv_aruco341d.lib
opencv_bgsegm341d.lib
opencv_bioinspired341d.lib
opencv_calib3d341d.lib
opencv_ccalib341d.lib
opencv_core341d.lib
opencv_datasets341d.lib
opencv_dnn_objdetect341d.lib
opencv_dnn341d.lib
opencv_dpm341d.lib
opencv_features2d341d.lib
opencv_flann341d.lib
opencv_fuzzy341d.lib
opencv_hfs341d.lib
opencv_highgui341d.lib
opencv_imgcodecs341d.lib
opencv_imgproc341d.lib
opencv_ml341d.lib
opencv_objdetect341d.lib
opencv_optflow341d.lib
opencv_phase_unwrapping341d.lib
opencv_photo341d.lib
opencv_plot341d.lib
opencv_reg341d.lib
opencv_rgbd341d.lib
opencv_saliency341d.lib
opencv_shape341d.lib
opencv_stereo341d.lib
opencv_stitching341d.lib
opencv_structured_light341d.lib
opencv_superres341d.lib
opencv_surface_matching341d.lib
opencv_text341d.lib
opencv_video341d.lib
opencv_videoio341d.lib
opencv_videostab341d.lib
opencv_xfeatures2d341d.lib
opencv_ximgproc341d.lib
opencv_xobjdetect341d.lib
opencv_xphoto341d.lib

release
opencv_aruco341.lib
opencv_bgsegm341.lib
opencv_bioinspired341.lib
opencv_calib3d341.lib
opencv_ccalib341.lib
opencv_core341.lib
opencv_datasets341.lib
opencv_dnn_objdetect341.lib
opencv_dnn341.lib
opencv_dpm341.lib
opencv_features2d341.lib
opencv_flann341.lib
opencv_fuzzy341.lib
opencv_hfs341.lib
opencv_highgui341.lib
opencv_imgcodecs341.lib
opencv_imgproc341.lib
opencv_ml341.lib
opencv_objdetect341.lib
opencv_optflow341.lib
opencv_phase_unwrapping341.lib
opencv_photo341.lib
opencv_plot341.lib
opencv_reg341.lib
opencv_rgbd341.lib
opencv_saliency341.lib
opencv_shape341.lib
opencv_stereo341.lib
opencv_stitching341.lib
opencv_structured_light341.lib
opencv_superres341.lib
opencv_surface_matching341.lib
opencv_text341.lib
opencv_video341.lib
opencv_videoio341.lib
opencv_videostab341.lib
opencv_xfeatures2d341.lib
opencv_ximgproc341.lib
opencv_xobjdetect341.lib
opencv_xphoto341.lib

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值