opencv目前已经支持caffe训练模型的读取,以及使用模型进行预测,这个功能是dnn模块实现的,而这个模块位于opencv_contrib中,此前编译的opencv3.2.0并没有将opencv_contrib中的模块加进来。因此,这里重新将opencv_contrib加入到opencv3.2.0进行编译。

这里假定已经安装了vs2013(或vs2015)和cmake等,没有安装的要先行安装好,再继续接下来的操作。

1、下载opencv和opencv_contrib源码

1.1 下载opencv3.2.0源码(https://github.com/opencv/opencv/releases/tag/3.2.0)。

1.2 下载opencv_contrib源码(https://github.com/opencv/opencv_contrib/releases)

注意:一定要下载和OpenCV源码版本一致的版本(这里均是3.2.0版本)。

2、Cmake配置与编译

2.1 将opencv源码和opencv_contrib源码均解压到编译文件目录下(这里是D:\Libraries\OpenCV320)。

2.2 在编译文件夹下新建opencv320-build和msvc2013_64文件夹,分别作为编译目录和安装目录。

打开Cmake,添加源码目录和编译目录,configure,选择Visual Studio 12 2013 Win64作为生成工具,finish,如下图。(如报错,请参考第5部分的常见问题与解决方案)

2.3 在OPENCV_EXTRA_MODULES_PATH选项中添加opencv_contribute中的modules路径。

同时,修改安装路径:

添加debug后缀,以避免安装时,release版本的将debug版本的覆盖掉。

继续configure,成功后,点generate,生成编译工程成功。(如报错,请参考第5部分的常见问题与解决方案)

3、vs2013编译与安装

generate成功以后,在opencv320-build文件夹下,会生成如下众多文件,打开OpenCV.sln。

分别在Debug和Release环境下,先BUILD->Build Solution,再将INSTALL设为启动项,BUILD->Project Only->Build Only Install。

编译安装成功,在msvc2013_64文件夹下,会看到如下文件夹:

4、配置opencv的环境。


4.1 设置环境变变量,将安装文件夹下的bin文件夹目录添加到环境变量路径中。

4.2 在编译文件夹下添加opencv320.props文件(具体位置和名称可以根据需要设定),并向该文件中添加如下内容(主要是头文件和静态库),保存。在vs2013中使用时opencv时,只需要将改文件添加到工程的property manager中即可。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  <ImportGroup Label="PropertySheets" />  <PropertyGroup Label="UserMacros" />  <PropertyGroup>  <IncludePath>D:\Libraries\OpenCV320\msvc2013-64\include;$(IncludePath)</IncludePath>  <LibraryPath Condition="'$(Platform)'=='X64'">D:\Libraries\OpenCV320\msvc2013-64\x64\vc12\lib;$(LibraryPath)</LibraryPath>  </PropertyGroup>  <ItemDefinitionGroup>  <Link Condition="'$(Configuration)'=='Debug'">  <AdditionalDependencies>opencv_calib3d320d.lib;opencv_core320d.lib;opencv_cudaarithm320d.lib;opencv_cudabgsegm320d.lib;opencv_cudacodec320d.lib;opencv_cudafeatures2d320d.lib;opencv_cudafilters320d.lib;opencv_cudaimgproc320d.lib;opencv_cudalegacy320d.lib;opencv_cudaobjdetect320d.lib;opencv_cudaoptflow320d.lib;opencv_cudastereo320d.lib;opencv_cudawarping320d.lib;opencv_cudev320d.lib;opencv_features2d320d.lib;opencv_flann320d.lib;opencv_highgui320d.lib;opencv_imgcodecs320d.lib;opencv_imgproc320d.lib;opencv_ml320d.lib;opencv_objdetect320d.lib;opencv_photo320d.lib;opencv_shape320d.lib;opencv_stitching320d.lib;opencv_superres320d.lib;opencv_video320d.lib;opencv_videoio320d.lib;opencv_videostab320d.lib;opencv_aruco320d.lib;opencv_bgsegm320d.lib;opencv_bioinspired320d.lib;opencv_ccalib320d.lib;opencv_datasets320d.lib;opencv_dnn320d.lib;opencv_dpm320d.lib;opencv_face320d.lib;opencv_fuzzy320d.lib;opencv_line_descriptor320d.lib;opencv_optflow320d.lib;opencv_phase_unwrapping320d.lib;opencv_plot320d.lib;opencv_reg320d.lib;opencv_rgbd320d.lib;opencv_saliency320d.lib;opencv_stereo320d.lib;opencv_structured_light320d.lib;opencv_superres320d.lib;opencv_surface_matching320d.lib;opencv_text320d.lib;opencv_tracking320d.lib;opencv_xfeatures2d320d.lib;opencv_ximgproc320d.lib;opencv_xobjdetect320d.lib;opencv_xphoto320d.lib;%(AdditionalDependencies)</AdditionalDependencies>  </Link>  <Link Condition="'$(Configuration)'=='Release'">  <AdditionalDependencies>opencv_calib3d320.lib;opencv_core320.lib;opencv_cudaarithm320.lib;opencv_cudabgsegm320.lib;opencv_cudacodec320.lib;opencv_cudafeatures2d320.lib;opencv_cudafilters320.lib;opencv_cudaimgproc320.lib;opencv_cudalegacy320.lib;opencv_cudaobjdetect320.lib;opencv_cudaoptflow320.lib;opencv_cudastereo320.lib;opencv_cudawarping320.lib;opencv_cudev320.lib;opencv_features2d320.lib;opencv_flann320.lib;opencv_highgui320.lib;opencv_imgcodecs320.lib;opencv_imgproc320.lib;opencv_ml320.lib;opencv_objdetect320.lib;opencv_photo320.lib;opencv_shape320.lib;opencv_stitching320.lib;opencv_superres320.lib;opencv_video320.lib;opencv_videoio320.lib;opencv_videostab320.lib;opencv_aruco320.lib;opencv_bgsegm320.lib;opencv_bioinspired320.lib;opencv_ccalib320.lib;opencv_datasets320.lib;opencv_dnn320.lib;opencv_dpm320.lib;opencv_face320.lib;opencv_fuzzy320.lib;opencv_line_descriptor320.lib;opencv_optflow320.lib;opencv_phase_unwrapping320.lib;opencv_plot320.lib;opencv_reg320.lib;opencv_rgbd320.lib;opencv_saliency320.lib;opencv_stereo320.lib;opencv_structured_light320.lib;opencv_superres320.lib;opencv_surface_matching320.lib;opencv_text320.lib;opencv_tracking320.lib;opencv_xfeatures2d320.lib;opencv_ximgproc320.lib;opencv_xobjdetect320.lib;opencv_xphoto320.lib;%(AdditionalDependencies)</AdditionalDependencies>  </Link>  </ItemDefinitionGroup>  <ItemGroup />
</Project>  

5、编译中常见的问题与解决方案:

a) Cmake编译,加入opencv_contrib中的modules后,进行configure,有些模块会报错,只需要将相应的模块勾选掉继续configure即可。

b) 如果编译的过程中出现反复,虽然configure成功,但是generate失败,或者generate成功,但是使用vs编译时出错。最好的办法是将此前的文件都删除,重新解压源码,进行Cmake配置和编译。

c) 如果此前系统中已经配置过opencv,建议将opencv的执行目录从环境变量里清除掉。

d) Cmake配置的过程中要保证网络的通畅,如果由于长时间没有下载第三方依赖库文件不成功而报错,可以直接在谷歌或度娘上搜索相关文件,下载下来手动放到相关文件夹下,再继配置即可。

e) opencv和opencv_contrib版本一定要一致,否则配置和编译会出错。

至此,编译成功,下一篇将介绍,如何在dnn中调用caffe的训练模型。

----------------------

参考:

[1] http://docs.opencv.org/3.2.0/de/d25/tutorial_dnn_build.html

[2] http://answers.opencv.org/question/147923/build-error-open-cv32-with-extra-libs/

2017.07.19

【caffe】windows下vs2013+opencv3.2.0+opencv_contrib(包含dnn)+cmake3.8编译与配置相关推荐

  1. 环境配置:Qt5.5+VS2013+OpenCv3.1.0+Win7(64bit)

    开发环境:Qt5.5+VS2013+OpenCv3.1.0+Win7(64bit) 一.下载OpenCV3.1.0 从 http://opencv.org/ 下载 OpenCV for Windows ...

  2. VS2013+OpenCV3.1.0配置教程

    文章目录 一 请先安装VS2013 三 如何自己动手配置属性表,这才是长久之计哇   相关文件安装包下载方式--关注微信公众号「 3D视觉工坊」,后台回复「VS2013+OpenCV3.1.0」 一 ...

  3. VS2013+OpenCV3.1.0配置方法

    相关文件安装包:链接:https://pan.baidu.com/s/19Tiws62SFnuv5FR--waMAQ 密码:1paw 一 请先安装VS2013    见工具包中的"VS201 ...

  4. vs2013+opencv3.1.0+qt5.3.5图像算法开发环境

    vs2013+opencv3.1.0+qt5.3.5图像算法开发环境 – 文章目录 vs2013+opencv3.1.0+qt5.3.5图像算法开发环境 前言 一.vs2013 二.opencv3.1 ...

  5. Windows下学习Objective-C 2.0

    为什么要在windows下学习objective c 学习一门移动端的语言,为后面的工作做准备 穷,目前买不起Mac.只能在Windows下曲线学习. 如何在Windows下搭建Objective-c ...

  6. python3.7安装步骤-Windows下Python 3.7.0的安装步骤,Python370

    Windows下Python 3.7.0的安装步骤 由于Python版本太新的话,能会出现不稳定的情况,所以在这里,作者建议用版本不太新的Python.在这里,我用的是Python3.7.0版本(其他 ...

  7. Windows 下 OpenCV 3.4.0 + Contrib 部署文档 (VS2015 Android)

    声明 以下[参考]链接,如有侵权,请联系删除,在此先感谢在网络上无私奉献的人们~ 如有错误,请联系更正,GitHub同文地址 文章目录 声明 VS 篇 编译 OpenCV + OpenCV_Contr ...

  8. 在装有Ubuntu16.04的VMware虚拟机下安装OpenCV3.2.0

    引言 最近因为学习需要,要在VMware虚拟机下安装OpenCV,在网上查了一下OpenCV3.3.0目前已经出来了,但是考虑到稳定性问题,决定先装一个3.2.0版本的.需要注意的是,pip可以安装的 ...

  9. Ubuntu下安装opencv3.2.0,解决anaconda下的Python和安装opencv3.2.0冲突的问题

    下载好opencv3.2.0源码之后,进入文件夹: mkdir buildcd buildcmake .. make sudo make install 但是仍然不行,缺少各种包,或者下载包的时候中断 ...

最新文章

  1. 【问题收录】[ubuntu]startx doesn't work
  2. Cocoa的MVC架构分析
  3. Webservice开发流程
  4. python中怎么把值添加进列表_在Python中为子列表添加值
  5. python发明者叫什么-python是谁发明的
  6. 离线轻量级大数据平台Spark之MLib机器学习库线性回归实例
  7. 小米产品都是中低端手机、没技术?雷军回应:我很郁闷
  8. java内存模型之二volatile内存语义
  9. ecs mysql 安装_CentOS8 安装MySQL8(ECS系列二)
  10. Emacs Lisp基本语法(六)
  11. js子窗口调用父窗口函数并传递对象给父窗口的方法
  12. opencv数据的读取
  13. vue-cli3安装遇到的问题,卸载不掉旧版本,导致更新不了
  14. 父与子的编程python_父与子的编程之旅:与小卡特一起学Python 完整版
  15. 【人工智能】NIPS2019 | 2019NIPS论文 | NeurIPS2019最新更新论文~持续更新| NIPS2019百度云下载
  16. cad通过钢筋大样生成钢筋明细表插件_易图(CAD插件For2016-2018)下载|易图(CAD插件For2016-2018)官方版下载_v18.3.1_9号软件下载...
  17. 微信小程序中的倒计时
  18. css做八边形图片有边框
  19. [光明日报]青年学生怎样把握成功机遇 --中国科学院院士 朱清时
  20. 《巴黎协定》生效 光伏被视为未来主流能源

热门文章

  1. 深入理解分布式技术 - RocketMQ解析
  2. Redis进阶- Redisson分布式锁实现原理及源码解析
  3. Algorithms_算法专项_Hash算法的原理哈希冲突的解决办法
  4. 数据结构与算法笔记(四)—— 栈
  5. 在 CentOS 7 中安装 Docker
  6. Typora最好用的Markdown编辑器
  7. wsdl文件是怎么生成的_电子标书怎么做需要注意的事项,您学会了吗?
  8. Python opencv 获取图像形状大小
  9. epel源mysql版本_linux增加epel源,yum安装nignx,脚本安装mysql服务端,shell脚本监控网站页面...
  10. 大数据在高校的应用场景_高校大数据及AI应用解决方案