文档章节

Win10+VS2015环境下编译 OpenCV 3.1和opencv_contrib

DB_Terrill
 DB_Terrill
发布于 2016/03/17 22:18
字数 604
阅读 5743
收藏 4

一、下载安装

OpenCV3.1.0下载地址: http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-win/3.1.0/opencv-3.1.0.exe
OpenCVcontrib下载地址: https://github.com/Itseez/opencv_ contrib
cmake-gui下载地址: http://www.cmake.org/cmake/resources/software.html

下载以上内容并安装opencv和cmake-gui,我的OpenCV安装路径为 D:\OpenCV3.1

二、Cmake

做到后面才发现x86和x64的库生成需要在Configure的部分做区分,选择默认的VS 14 2015就是正常的生成x86库,而再往下两个选择VS 14 2015 win64就是生成的x64的库。后面的步骤基本相同,没有什么区别。大家各自按需选择就好。

在路径选择位置把目录写好,我将编译路径为D:\OpenCV3.1\sources\newBulid
在configure里,选择VS14 2015(最高版本就是这个,没有VS15),然后点finish后,他会自动配置一通,配置好了就像下图所示,Configuring done.

配置完成后会显示很多配置选项,找到OPENCV_EXTRA_MODULES_PATH,将opencv_contrib的目录放进去。
点击Generate以后,他又自动配置一通,显示Generating done.这样应该就好了吧,霍霍


三、VS2015 编译

这时候回到MyBuild文件夹下面,就能找到新生成的OpenCV.sln
在解决方案资源管理器中,选中“解决方案‘OpenCV’(151个项目)”,右键-->重新生成解决方案。
依旧是资源管理器中,找到CMakeTargets中的INSTALL,右键-->仅用于项目-->仅生成INSTALL。完成后,D:/OpenCV3.1/sources/newBulid/install下会有很多东西。

四、重新配置VS2015

重新配置的时候发现问题了,由于下载的OpenCV3.1.0 只有x64的库,所以我之前配置的时候都是基于x64做的配置,然而按照上面的步骤生成的文件只有x86的。这个时候就想到重新编译的时候哪里能选定并生成x64的库咧。于是又查查找找,发现在最开始的Cmake阶段,在做Configure的时候,选择VS14 2015 win64才能生成x64的库。于是又重新返回去做了一遍,囧rz。
按照之前的配置把包含目录修改为

D:\OpenCV3.1\sources\newBulid\install\include

D:\OpenCV3.1\sources\newBulid\install\include\opencv

D:\OpenCV3.1\sources\newBulid\install\include\opencv2

库目录修改为

D:\OpenCV3.1\sources\newBulid\install\x64\vc14\lib

D:\OpenCV3.1\sources\newBulid\install\x64\vc14\staticlib

依赖项:

opencv_calib3d310d.lib
opencv_core310d.lib
opencv_features2d310d.lib
opencv_flann310d.lib
opencv_highgui310d.lib
opencv_imgcodecs310d.lib
opencv_imgproc310d.lib
opencv_ml310d.lib
opencv_objdetect310d.lib
opencv_photo310d.lib
opencv_shape310d.lib
opencv_stitching310d.lib
opencv_superres310d.lib
opencv_ts310d.lib
opencv_video310d.lib
opencv_videoio310d.lib
opencv_videostab310d.lib
ippicvmt.lib

本文转载自:http://www.lai18.com/content/2457207.html

共有 人打赏支持
下一篇: 视频处理
DB_Terrill
粉丝 23
博文 143
码字总数 27267
作品 0
大连
其他
私信 提问
加载中

评论(4)

Sinnus
Sinnus
我知道了,把python卸载了,就是151项目了,也没python27_d.dll丢失问题了
Sinnus
Sinnus
我的怎么是152个项目,而且重新生成是一个错误,怎么办
DB_Terrill
DB_Terrill
在配置过程中存在没有装载的文件是不可以,你需要连接网络重新下载需要装载的文件!在配置通过后生成工程,使用与工程相同的IDE进行打开
青竹的镜子
设置与你的相同,cmake configue过程中存在没有装载的文件,且生成的sln文件在vs中打不开,提示版本不对。请问是否知道是怎么回事呢?
OpenCV 3.1 发布,计算机视觉库

OpenCV 3.1 发布,此版本更新内容如下:此版本是 3.x 系列的第一个稳定版本,详细改进内容请看发行说明。 OpenCV 3.1 支持最新的 Windows 和 OS X 操作系统和最新的开发工具 (VS2015 和 Xcod...

oschina
2015/12/22
11.9K
8
OpenCV学习笔记(09):opencv3.2+cmake3.8+VS2013,编译opencv_contrib

版权声明:假装这里有个版权声明…… https://blog.csdn.net/CV_Jason/article/details/70037545 Cmake编译opencv contrib部分 1. 前言 最近才知道,在OpenCV3.0 之后,OpenCV算法包被拆分成...

CodeLike
2017/04/10
0
0
opencv3.4.2 android

未能编译成功 设置环境变量 下载源码 修改配置opencv/platforms/android/ndk-10.config.py 修改配置 opencv/cmake/android/OpenCVDetectAndroidSDK.cmake 修改配置 opencv/platforms/android......

zdglf
2018/08/25
0
1
Windows10上使用VS2017编译OpenCV3.4.2+OpenCV_Contrib3.4.2+Python3.6.2操作步骤

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fengbingchun/article/details/84030309 1. 从https://github.com/opencv/opencv/releases 下载opencv-3.4.2.......

fengbingchun
2018/11/13
0
0
Ubuntu上交叉编译opencv及opencv_contrib并移植到ARM板之一

零、环境准备: 编译环境:Ubuntu-14.04 交叉编译工具链:arm-linux-gnueabi-4.5.1 目标机器:粤嵌GEC210开发板S5PV210(Cortex-a8) opencv库:opencv-3.2.0(源码),解压至某一目录 open...

qq_30155503
2018/04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

dockerfile 镜像构建(1)

通用dockerfile 利用已经编译好的.jar 来构建镜像。要构建的目录如下: [root@iZuf61quxhnlk9m2tkx16cZ demo_jar]# docker build -t demo:1 . 运行镜像: [root@iZuf61quxhnlk9m2tkx16cZ de...

Canaan_
26分钟前
0
0
Redis radix tree源码解析

Redis实现了不定长压缩前缀的radix tree,用在集群模式下存储slot对应的的所有key信息。本文将详述在Redis中如何实现radix tree。 核心数据结构 raxNode是radix tree的核心数据结构,其结构体...

阿里云云栖社区
28分钟前
5
0
vue import 传入变量

在做动态添加component的时候,传入变量就会报错,出现以下错误信息: vue-router.esm.js?fe87:1921 Error: Cannot find module '@/components/index'. at eval (eval at ./src/components ......

朝如青丝暮成雪
30分钟前
0
0
Flutter开发 Dio拦截器实现token验证过期的功能

前言: 之前分享过在Android中使用Retrofit实现token失效刷新的处理方案,现在Flutter项目也有“token验证过期”的需求,所以接下来我简单总结一下在Flutter项目中如何实现自动刷新token并重...

EmilyWu
32分钟前
6
0
final Map可以修改内容,final 常量不能修改

1.final Map 可以put元素,但是不可以重新赋值 如: final Map map = new HashMap(); map = new HashMap();//不可以 因为栈中变量map引用地址不能修改 2.final str = “aa”; str = "bb";/......

qimh
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部