VS2017配置OpenCV3.2+contrib3.2

前言

  • opecv3.2+opencv_contrib3.2模块都编译配置了

  • 在配置contrib之前,尝试直接配置OpeCV3.2-vc14,发现可以正常使用,也就是说官方包虽然只有vc14,但vs2017(vc15)也支持的很好。

  • 操作环境:WIN10 64bit ,VS2017社区版,CMake-3.8.0-rc3 
    准备文件:opencv3.2.zip,opencv_contrib-3.2.0.zip 
    【ippicv_windows_20151201.zip protobuf-cpp-3.1.0.tar.gz】 
    上述两个用于编译的文件常常由于下载缓慢或者无法下载导致编译失败。大家可以直接在CSDN上搜索到,如果有需要,后期我会上传补充。 
     
    goturn是我需要的一个训练模型【无视】 
    doc是官方离线文档【可选】 
    extra是跑例程需要的dataset【可选】 
    其他几个就是上文提到的

  • 需要注意的是:Cmake最好到官网下载较新的版本,否则无法检测到VS2017.这里使用CMake3.8版本,其次contrib模块也要相对应3.2版本,否则很难编译通过,接下来我们就可以开始了

  • 本文中的路径都是相对于我的,你的路径根据实际会有所不同

编译OpenCV3.2

  1. 解压OpenCV3.2。在解压后的OpenCV3.2的目录里新建文件夹并命名为myBuild(主要是和原Build文件夹区分)
  2. 解压opencv_contrib-3.2.0(建议移动到OpenCV3.2目录下,方便后期查找和操作)
  3. 解压并打开Cmake。如果是免安装程序,就到cmake的解压目录的 
    bin里双击cmake-gui.exe 如下图 

4.在cmake的地址栏填入地址 
where is the source code 填你的OpenCV3.2的source目录 
where to build the biliaries 填刚建立的myBuild


如图是我的路径。你要看你的具体目录来填写

然后点击【Configure】会弹出选择VS的界面,我选的是vs2017 win64 
再次点击【Configure】 
该过程是需要联网的,甚至需要帆樯。否则可能出现ERROR:not find 等,一般就是上述提到的两个文件。 
将ippicv_windows_20151201.zip放到myBuild/3rdparty/ippicv里,再次【Configure】

编译contrib模块 
configure done后,找到OPENCV_EXTRA_MODULES_PATH 
将其设置为opencv_contrib/modules的路径

特别注意生成静态库是一定要去除

下面三个模块:

BUILD_EXAMPLES

BUILD_TEST

BUILD_PERF_TESTS

否则编译之后大小会很大50G左右

如图我的路径。然后【configure】 
由于CMakeLists.txt中下载dnn模块的链接失效,所以需要自己另行下载并移到opencv_contrib-3.2.0/modules/dnn/.download/bd…./v3.1.0 
如图路径

然后【Configure】完成后就可以【Generate】了

然后再点击【Open Project】这会自动打开vs2017 
也可以到myBuild里找到OpenCV.sln打开。 
打开vs2017后一般可以直接看到【解决方案资源管理器】一栏,没有就点击【视图v】-【解决方案资源管理器p】,可以看到OpenCV的解决方案

选择你需要的平台 
 
右键解决方案重新生成 
 
待结束后,点开CmakeTargets–>INSTALL,右键->【仅用于项目】->【仅生成INSTALL】 
等待完成。我这里是成功113,跳过7个。

myBuild最后大概有6.5G【有很多垃圾文件】 
生成后把opencv和contrib综合了起来。所以配置的时候只需要用myBuild/install了。

这是myBuild里的文件

由于垃圾文件很多myBuild里可以只留下install,其他都可以删掉

 
同时建议把opencv,contrib里面的源码留下。我整理如下 
 
分别对应myBuild,opencv源码+sample,contrib源码+samples 
整个OpenCV3.2缩小到600+Mb

方便以后查看

接下来就和配置普通版本一样了。

配置环境变量

  1. 右键电脑【属性】
  2. 【高级系统设置】
  3. 【环境变量】
  4. 【系统变量】【Path】
  5. 在变量值后加 
    ;D:\Win10soft\OpenCV3.2\myBuild\install\x64\vc15\bin 
    注意这要改成你的路径,多个变量值以英文分号分开

配置库目录和包含目录 
1. 先新建一个工程 
【文件】->【新建】->【项目】 

确定,在下一步选择空项目。 
将上方切换至Debug/Release x64,这个根据需要视情况而定。

打开属性管理器,如果主界面没有,就点击【视图】->【属性管理器】 
 
因为我们刚刚生成的是Release x64,所以这里我们点开Release|x64

右键再点属性开始配置

1.【通用属性】->【VC++目录】->【包含目录】 
添加 
D:\Win10soft\OpenCV3.2\myBuild\install\include 
D:\Win10soft\OpenCV3.2\myBuild\install\include\opencv 
D:\Win10soft\OpenCV3.2\myBuild\install\include\opencv2 
 
【确定】

2.【库目录】 
D:\Win10soft\OpenCV3.2\myBuild\install\x64\vc15\lib 
【确定】

点击【应用】

3.【通用属性】->【链接器】->【输入】->【附加依赖项】

添加如下库(41个 Debug)

添加如下库(41个 Debug)

opencv_aruco320d.lib 
opencv_bgsegm320d.lib 
opencv_bioinspired320d.lib 
opencv_calib3d320d.lib 
opencv_ccalib320d.lib 
opencv_core320d.lib 
opencv_datasets320d.lib 
opencv_dnn320d.lib 
opencv_dpm320d.lib 
opencv_face320d.lib 
opencv_features2d320d.lib 
opencv_flann320d.lib 
opencv_fuzzy320d.lib 
opencv_highgui320d.lib 
opencv_imgcodecs320d.lib 
opencv_imgproc320d.lib 
opencv_line_descriptor320d.lib 
opencv_ml320d.lib 
opencv_objdetect320d.lib 
opencv_optflow320d.lib 
opencv_phase_unwrapping320d.lib 
opencv_photo320d.lib 
opencv_plot320d.lib 
opencv_reg320d.lib 
opencv_rgbd320d.lib 
opencv_saliency320d.lib 
opencv_shape320d.lib 
opencv_stereo320d.lib 
opencv_stitching320d.lib 
opencv_structured_light320d.lib 
opencv_superres320d.lib 
opencv_surface_matching320d.lib 
opencv_text320d.lib 
opencv_tracking320d.lib 
opencv_video320d.lib 
opencv_videoio320d.lib 
opencv_videostab320d.lib 
opencv_xfeatures2d320d.lib 
opencv_ximgproc320d.lib 
opencv_xobjdetect320d.lib

添加如下库 (41个Release)

添加如下库(41个Release)

添加如下库(41个Release)

opencv_aruco320.lib 
opencv_bgsegm320.lib 
opencv_bioinspired320.lib 
opencv_calib3d320.lib 
opencv_ccalib320.lib 
opencv_core320.lib 
opencv_datasets320.lib 
opencv_dnn320.lib 
opencv_dpm320.lib 
opencv_face320.lib 
opencv_features2d320.lib 
opencv_flann320.lib 
opencv_fuzzy320.lib 
opencv_highgui320.lib 
opencv_imgcodecs320.lib 
opencv_imgproc320.lib 
opencv_line_descriptor320.lib 
opencv_ml320.lib 
opencv_objdetect320.lib 
opencv_optflow320.lib 
opencv_phase_unwrapping320.lib 
opencv_photo320.lib 
opencv_plot320.lib 
opencv_reg320.lib 
opencv_rgbd320.lib 
opencv_saliency320.lib 
opencv_shape320.lib 
opencv_stereo320.lib 
opencv_stitching320.lib 
opencv_structured_light320.lib 
opencv_superres320.lib 
opencv_surface_matching320.lib 
opencv_text320.lib 
opencv_tracking320.lib 
opencv_video320.lib 
opencv_videoio320.lib 
opencv_videostab320.lib 
opencv_xfeatures2d320.lib 
opencv_ximgproc320.lib 
opencv_xobjdetect320 .lib 

确定确定应用。 
此时你已配置好了Release|x64的OpenCV+contrib3.2 
重启一下,试试读取图片吧

测试代码

#include<iostream>

#include<opencv2/opencv.hpp>

int main(int argc,char** argv){

cout<< cv_version<<endl;

Mat src=imread("you own path of pictures");

imshoe("hello world!",src);

waitKey(0);

return 0;

}

在移动工程时偶然发现,该工程居然有101Mb,而这只是读取一张图片而已。查看文件夹,合计也才几mb文件,然后打开了文件管理器的查看,显示隐藏。 
发现一个隐藏文件夹 
 
查看属性果然很大,我将隐藏文件夹内的内容删除,并打开属性显示。然后打开工程。发现在加载工程过程中,该隐藏文件夹,不断增长。然后跑了surf匹配,结果工程变成了180多Mb. 
有些难以置信。以前在VS2013上8个cpp,代码近万行的工程才80多mb。目前没有找到原因,猜测可能是因为:VS2017为加快处理速度的新特性,或者是我在安装VS时,选择安装项不合理导致。

针对上面只生成三个文件,且没有x64的,默认为生成的bin文件为64位,最新的vs2017生成库更简洁,并不影响使用。其余情况也可以按照这个处理。

VS2017配置OpenCV3.2+contrib3.2相关推荐

  1. VS2017下使用CMake配置opencv3.4.0

    VS2017下使用CMake配置opencv3.4.0 1.首先自行安装vs2017社区版(也可选择专业版),选择C++相关组件 2.然后在OpenCV官网下载OpenCV3.4.0 这里只下载Sou ...

  2. vs2017python配置opencv_关于VS2017配置OpenCV出现无法打开文件“opencv_ml249d.lib”的解决方案...

    VS2017配置OpenCV的教程可以下面这个大佬的教程来: 在配置结束后,测试配置是否成功的时候,会出现问题. 在试过网上所有解决方案之后,仍旧不能运行成功,最后经自己尝试,终于找到了解决方案,解决 ...

  3. Mac下python3配置opencv3 3和Mac下单独opencv的配置以及iOS下配置opencv

    #1.Mac下python3配置opencv3.3 新手受任开发一个功能,需要用到opencv.但python和opencv连接出现问题,看了大概有上百份博客的解决办法,都没有解决,快要放弃了,解决了 ...

  4. opencv-python:win7下,搭建python2.7.5环境,配置opencv3.1.0准备开工-OpenCV步步精深

    我的个人博客:点这里 搭建python2.7.5环境 下载python2.7.5 64位:https://www.python.org/ftp/python/2.7.5/python-2.7.5.am ...

  5. Win7系统Visual Studio 2013配置OpenCV3.1图文详解

    Win7系统Visual Studio 2013配置OpenCV3.1图文详解 OpenCV3.1对硬件加速和移动开发的支持相对于老版本都有了较大改进,支持新的开发工具,更易于扩展,配置方式也比以前简 ...

  6. win10环境下如何给visual studio 2013永久配置opencv3.1.0环境

    win10环境下如何给visual studio 2013永久配置opencv3.1.0环境 本人在给visual studio 2013配置opencv 环境下遇到过一些问题,比如配置不成功或者不能 ...

  7. ubuntu14.04 python2.7 安装配置OpenCV3.0

    环境:ubuntu14.04  python2.7 内容:安装并配置OpenCV3.0 今天按照OpenCV官网上的步骤装了OpenCV但是,装好之后python提示"No module n ...

  8. python36安装opencv3.2_Python3.5.3下配置opencv3.2.0的操作方法

    1.安装numpy 进入python安装目录的lib下的site-packages文件夹下打开cmd输入pip install numpy下载numpy NumPy系统是Python的一种开源的数值计 ...

  9. 64 位系统 vs2013 配置 OpenCV-3.1.0

    参考:64 位系统 vs2013 配置 opencv3.0 1. 环境准备 进入官网 http://opencv.org/,下载最新版本的 opencv(以本文 opencv-3.1.0 为例,.ex ...

最新文章

  1. 线程退出【Linux学习】pthread_create主线程与创建的新线程之间退出关系
  2. jQuery操作CSS
  3. python 闭包_一篇文章读懂Python的闭包与装饰器!
  4. 在计算机网络俗称网上邻居上能看到自己,能看到自己计算机,看不到网上邻居的标准答案...
  5. 解决安装kali 2020.1版本后的中文乱码问题:只需要安装中文字体(而不需要像之前版本那样需要选择locales和编码)。
  6. CANVAS运用-对图片的压缩上传(仅针对移动浏览器)
  7. [转]WebView长按弹出复制粘贴
  8. java set的数据结构_set(集合)数据结构
  9. pg插入执行成功但是没有数据_pg_lightool基于basebackup的单表恢复和块恢复
  10. Java之JDBC①
  11. ssis 包部署_如何使用各种选项从SSIS目录执行已部署的程序包
  12. 计算机页面图形颠倒,电脑屏幕倒过来了如何解决
  13. ggplot2都有哪些使用不多但是却异常强大的图层函数
  14. java线程知识点拾遗(排队CAS)
  15. TASKCTL用户权限如何设置
  16. 基于 Verilog 的经典数字电路设计(14)移位寄存器
  17. 如何解密pdf加密文件
  18. Python全栈开发【基础-09】深浅拷贝+while循环
  19. 解耦java_工厂模式实现解耦
  20. html广告横幅图片,制作漂亮网页横幅广告图片的PS教程

热门文章

  1. 功能测试常用6种方法_建筑管道常用的8种连接方法
  2. c语言计算器实训任务案例,C/C++经典实例之模拟计算器示例代码
  3. java 根据ip获取mac地址_利用java如何根据IP获取mac地址
  4. eas账号是什么意思_刚开始做抖音带货和好物推荐,如何布局抖音种草账号矩阵?...
  5. .net中如何同步获取数据方式增加一样数据自动刷新列表_期待已久的动态数据库工具终于来了!...
  6. PCL基础4:PCLVisualizer可视化窗口显示
  7. 使用Python+OpenCV构建文档扫描程序
  8. MXNET源码中TShape值的获取和打印
  9. HDU1811 Rank of Tetris 拓扑排序+并查集 OR 差分约束最短路+并查集
  10. 机器学习(18)-- SVM支持向量机(根据身高体重分类性别)