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/); ...
随机推荐
- md5加密(1)
package com.js.ai.modules.pointwall.util; import java.security.MessageDigest; import java.security.N ...
- web编程的初步认识
一直以后, 只知道打开浏览器, 输入网址便可以上网浏览网页, 但是当认真琢磨起这web编程的时候, 对于很多细节却是感觉很迷惑, 在慢慢的学习中, 才逐渐有了些了解. web有client/serve ...
- ghld data format
%CTF: 1.00%FileType: PROF strp "VelocityProfile"%PROFSpec: 1.00 2006 00 00%Manufacturer: C ...
- web.config中namespace的配置(针对页面中引用)
1,在页面中使用强类型时: @model GZUAboutModel @using Nop.Admin.Models//命名空间(注意以下) 2,可以将命名空间提到web.config配置文件中去,此 ...
- 【新手向】Centos系统文件权限的系统阐述与演示
在linux服务器日常管理中,我们会经常管理查看文件或者文件夹的权限内容以保证服务的正常运行.今天就和大家聊聊文件权限的那些事. 查看文件的权限情况可以用 ll 命令例: ll -d /kid #查看 ...
- java 多线程系列基础篇(一)
多线程状态图: Thread类的两个方法比较: yield方法: Yield是一个静态的原生(native)方法 Yield告诉当前正在执行的线程把运行机会交给线程池中拥有相同优先级的线程. Yiel ...
- elasticsearch(3) curl命令
curl 操作http的get/post/put/delete CURL 命令参数-a/--append 上传文件时,附加到目标文件-A/--user-agent <string> 设置用 ...
- 用JS 循环做一个表格
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Github修改项目显示的语言类型
//仓库的根目录下创建 .gitattributes 文件,添加以下代码: *.js linguist-language=java *.css linguist-language=java *.htm ...
- HDU 4899 Hero meet devil (状压DP, DP预处理)
题意:给你一个基因序列s(只有A,T,C,G四个字符,假设长度为n),问长度为m的基因序列s1中与给定的基因序列LCS是0,1......n的有多少个? 思路:最直接的方法是暴力枚举长度为m的串,然后 ...