opencv第二课,使用cmake编译OpenCV,并添加opencv_contrib模块
一、下载安装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模块的更多相关文章
- OpenCV 第二课 认识图像的存储结构
OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...
- cmake编译opencv指南
目录 cmake编译opencv指南 用包管理器安装 查看opencv相关的包 执行安装 编译安装 为什么编译安装 下载源码 编译脚本 执行编译脚本.解决3rdparty下载 编译后的设定-环境变量 ...
- OpenCV.3.4.6_VS2015&cmake编译x86版本的bin&lib
ZC:<<OpenCV3编程入门>> 的 2.2.2 中也有该内容的讲解 1.参考网址:opencv3.3.0+vs2015+cmake编译opencv x86 - wowo的 ...
- CMake编译OpenCV
使用CMake来编译OpenCV,以匹配自己使用的VS版本. 主要有两步: CMake编译OpenCV源码得到OpenCV.sln工程文件. VS编译OpenCV.sln. 以最新的cmake-3.1 ...
- cmake编译opencv时指定cuda版本
之前有网友提问说,基于cmake编译时如果切换cuda版本,比如我同时装了cuda8和cuda9,opencv总是找到cuda9,我想用cuda8怎么办?实际上,手头上要配置的工程是基于opencv3 ...
- OpenCV - Windows(win10)编译opencv + opencv_contrib
在之前的几篇文章中,我提到了在Android.Linux中编译opencv + opencv_contrib,这篇文章主要讲在Windows中编译opencv + opencv_contrib. 首先 ...
- opencv学习_15 (利用cmake查看opencv的源码)
当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCr ...
- 编译nginx平滑添加stream模块
1.操作背景 操作系统版本:CentOS Linux release (Core) nginx版本:1.13.4 nginx从1.9.0版本开始,新增了ngx_stream_core_module模块 ...
- ubuntu下cmake编译opencv 3.4.3源码;
在进行编译前,准备工作: 1) 到opencv官网下载源码(https://opencv.org/releases.html): 2) 安装qt(http://download.qt.io/); ...
随机推荐
- Rails上传文件
1.view <%= form_tag({:method =>"post",:controller =>"welcome",:action=& ...
- ffmpeg初体验
ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大.目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快: 且网上的讲解不够详细,对于初次接触FFM ...
- jackson2.x与Jackson1.9的比较
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.Jackson库于2012.10.8号发布了最新的2.1版.Jackson源码目前 ...
- 11-18网页基础--第二部分CSS样式属性(1)
第一课:样式属性 style 样式:style样式不仅可以直接在<body>中设置成整个网页的样式.格式:为了将样式.格式多样化,也可以将style单独抽出来,作为一个独立的个体,放在&l ...
- Shell编程进阶 1.7 case选择
逻辑判断的格式 vim case.sh #!/bin/bash read -p "please input a number:" n m=$[$n%] case $m in ) e ...
- intellij idea打包springboot项目
一.可执行jar包 注意点: maven的package类型需要为jar 配置了spring-boot-mavne-plugin插件 1.1.pom.xml <?xml version=&quo ...
- 浅析大数据的技术生态圈(Hadoop,hive,spark)
大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可 ...
- 使用Java2D改善API的绘制效果
---------------siwuxie095 工程名:TestSwingPaintAPI 包名:com.siwuxie095.swingp ...
- C++实现矩阵的相加/相称/转置/求鞍点
1.矩阵相加 两个同型矩阵做加法,就是对应的元素相加. #include<iostream> using namespace std; int main(){ int a[3][3]={{ ...
- php学习笔记-默认参数
在定义函数的时候,我们可以把其中的一个参数变的特殊起来,使它有一个默认值,这个参数就叫默认参数.在调用这个函数的时候,你既可以给这个默认参数传递一个值,这样的话默认参数的值会被覆盖掉,也可以不给它传递 ...