一、下载安装cmake

想要在Windows平台下生成OpenCV的解决方案,我们需要一个名为cmake的开源软件,可以在camke的官网:http://www.cmake.org/上下载到

或者点击此链接进行下载http://www.cmake.org/files/v2.8/cmake-2.8.12.2-win32-x86.exe

下载完成直接运行安装就行。

二、使用cmake生成OpenCV源代码工程的解决方案

在进行opencv_contrib模块添加时,一定要保证opencv和opencv_contrib的版本一致,要不然会失败!!!!!!!!

在进行opencv_contrib模块添加时,一定要保证opencv和opencv_contrib的版本一致,要不然会失败!!!!!!!!

在进行opencv_contrib模块添加时,一定要保证opencv和opencv_contrib的版本一致,要不然会失败!!!!!!!!

OpenCV: https://github.com/Itseez/opencv 
Extra Modules: https://github.com/Itseez/opencv_contrib

2.1、下载完OpenCV和opencv_contrib模块后进行解压,记得解压路径不要有中文。

2.2、运行cmake

2.3、source code选择opencv路径,下面选择一个空的文件夹。

where is the source code:放源代码,路径如图。 
where to build the binaries:生成的代码放置位置,路径如图。 
2.4、然后点击“configure”按钮,弹出以下窗口,选择你对应的vs版本,然后点击“finish”就开始生成了。

2.4、往opencv中添加opencv_contrib模块,找到OPENCV_EXTRA_MODULES_PATH,后面添加路径D:\opencv3\source\opencv_contrib\modules,精确到\modules。然后继续configure,一次之后如果还有红色的块,继续configure,知道全部变白为止。 
然后点击Generate,回提示Generate Done。恭喜,完成了一半!!!

三、编译OpenCV源代码

在D:\opencv3\build下找到OPENCV.sln,打开,找到CMakeTargets下的INSTALL,在Debug和Release下分别右键生成即可。 
 
编译需要比较长的时间,我编译Debug和Release花了一个多小时。然后你就可以在D:\opencv3\build\install下看到 

四、使用opencv环境配置 
1、首先设置环境变量,如下设置系统变量,命名为OPENCV_DIR,路径为D:\opencv3\build\install\x86\vc12,然后设置用户路径: 
新建->PATH(变量名),变量值为%OPENCV_DIR%\bin。 
PS:更简单的方法,直接设置绝对路径,新建PATH,然后路径里面放D:\opencv3\build\install\x86\vc12\bin。之所以采用以上的方法是如果以后更新opencv版本的话,不用重新配置。 
2、配置opencv工程属性 
找到属性管理器 

打开后如图 
 
双击图中Microsoft.Cpp.Win32.use进行配置。 

可执行文件目录:D:\opencv3\build\install\x86\vc12\bin 
包含目录: 
D:\opencv3\build\install\include 
D:\opencv3\build\install\include\opencv 
D:\opencv3\build\install\include\opencv2 
库文件目录:D:\opencv3\build\install\x86\vc12\lib 
然后是附加依赖项: 

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
opencv_xphoto320d.lib

点击应用,确定,然后就大功告成了!!!!

opencv第二课,使用cmake编译OpenCV,并添加opencv_contrib模块的更多相关文章

  1. OpenCV 第二课 认识图像的存储结构

    OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...

  2. cmake编译opencv指南

    目录 cmake编译opencv指南 用包管理器安装 查看opencv相关的包 执行安装 编译安装 为什么编译安装 下载源码 编译脚本 执行编译脚本.解决3rdparty下载 编译后的设定-环境变量 ...

  3. OpenCV.3.4.6_VS2015&cmake编译x86版本的bin&lib

    ZC:<<OpenCV3编程入门>> 的 2.2.2 中也有该内容的讲解 1.参考网址:opencv3.3.0+vs2015+cmake编译opencv x86 - wowo的 ...

  4. CMake编译OpenCV

    使用CMake来编译OpenCV,以匹配自己使用的VS版本. 主要有两步: CMake编译OpenCV源码得到OpenCV.sln工程文件. VS编译OpenCV.sln. 以最新的cmake-3.1 ...

  5. cmake编译opencv时指定cuda版本

    之前有网友提问说,基于cmake编译时如果切换cuda版本,比如我同时装了cuda8和cuda9,opencv总是找到cuda9,我想用cuda8怎么办?实际上,手头上要配置的工程是基于opencv3 ...

  6. OpenCV - Windows(win10)编译opencv + opencv_contrib

    在之前的几篇文章中,我提到了在Android.Linux中编译opencv + opencv_contrib,这篇文章主要讲在Windows中编译opencv + opencv_contrib. 首先 ...

  7. opencv学习_15 (利用cmake查看opencv的源码)

    当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCr ...

  8. 编译nginx平滑添加stream模块

    1.操作背景 操作系统版本:CentOS Linux release (Core) nginx版本:1.13.4 nginx从1.9.0版本开始,新增了ngx_stream_core_module模块 ...

  9. ubuntu下cmake编译opencv 3.4.3源码;

    在进行编译前,准备工作: 1)  到opencv官网下载源码(https://opencv.org/releases.html): 2)  安装qt(http://download.qt.io/); ...

随机推荐

  1. 如何修改AWR的retention,interval

    检查AWR当前设置: SQL> select * from dba_hist_wr_control; DBID SNAP_INTERVAL RETENTION TOPNSQL --------- ...

  2. Ubuntu16.04下同时安装Anaconda2与Anaconda3

    转自:http://blog.csdn.net/juezhanangle/article/details/78922888 由于编程时同时需要有python2/3的环境和大量的依赖包,本文的思路是先根 ...

  3. Android键盘属性

    在主xml中android:windowSoftInputMode的属性"stateUnspecified"软键盘的状态(是否它是隐藏或可见)没有被指定.系统将选择一个合适的状态或 ...

  4. [poj1509]Glass Beads(最小表示法)

    题目大意:求循环同构的字符串的最小字典序. 解题关键:最小表示法模板题. #include<cstdio> #include<cstring> #include<algo ...

  5. HTML5的头部、拨号、短信、邮件(转)

    HTML5[语法要点] 一.头部设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <!--页面窗口自动调整到设备 ...

  6. Codeforces 1107E (Vasya and Binary String) (记忆化,DP + DP)

    题意:给你一个长度为n的01串,和一个数组a,你可以每次选择消除一段数字相同的01串,假设消除的长度为len,那么收益为a[len],问最大的收益是多少? 思路:前两天刚做了POJ 1390,和此题很 ...

  7. c# 一维数组,二维数组,多维数组。

    数组就是给一个变量定义多个字符,可以是string也可以是int.或者说是一组变量. 可以更加方便的操作大量数据. 数组的定义1.数组里面的内容必须是同一类型2.数据必须有长度限制 一维数组 *一.数 ...

  8. 生产者与消费者-N:N-基于list

    多个生产者/多个消费者: /** * 生产者 */ public class P { private MyStack stack; public P(MyStack stack) { this.sta ...

  9. 项目一:第十三天 1、菜单数据管理 2、权限数据管理 3、角色数据管理 4、用户数据管理 5、在realm中动态查询用户权限,角色 6、Shiro中整合ehcache缓存权限数据

    1 课程计划 菜单数据管理 权限数据管理 角色数据管理 用户数据管理 在realm中动态查询用户权限,角色 Shiro中整合ehcache缓存权限数据         2 菜单数据添加 2.1 使用c ...

  10. Blender 基础 骨架-02 骨架的各种呈现方式

    Blender 基础 骨架-02 - 骨架的各种呈现方式 我使用的Blender版本:Blender V 2.77 前言 在 Blender 基础 骨架-01 教程里面,将骨架和模型联系在一起,我们在 ...