OpenCV3.1开发系列-CMake编译OpenCV3.1及opencv_contrib
来源:互联网 发布:unity3d户型模型 编辑:程序博客网 时间:2024/04/30 03:54
CMake编译OpenCV3.1及opencv_contrib
opencv_contrib库是OpenCV 3.x版本中额外模块,提供多个实用性算法,官方称是没有经过良好测试,但前沿性与实用性较强,特此本系列将针对该模块新增内容进行详细讲解,以供您参考。
首先,需要准备好开发工具及软件:
Visual Studio + OpenCV3.1 + opencv_contrib + CMake
- 第1个工具Visual Studio: 本文实例使用VS2012 旗舰版(VS2015方法相同),腾讯微云链接见下: http://pan.baidu.com/s/1sllBqET 密码:7r7o- 第2个开发包需要下载最新的OpenCV3.1,地址为: http://opencv.org/downloads.html 或 https://github.com/Itseez/opencv- 第3个开发包需要下载最新的opencv_contrib库,地址为: https://github.com/Itseez/opencv_contrib- 第4个工具需要下载CMake,本文测试选择cmake-3.3.2-win32-x86.exe: https://cmake.org/download/
步骤1 CMake编译
1.解压OpenCV3.1,解压路径设置为:
C:\OpenCV3.1
解压后文件形态如下图:
2.解压opencv_contrib-master,解压路径设置为:
C:\OpenCV3.1\opencv
解压后文件形态如下图:
3.安装Cmake工具,直接点击下一步-我接受,在下步骤中选择添加到系统路径中:
继续下一步-安装-完成,打开CMake (cmake-gui),安装成功如下图:
4.编译环境配置
4.1 Where is the source code 设置路径为:
C:/OpenCV3.1/opencv/sources4.2 Where to build the binaries 设置路径为:
C:/OpenCV3.1/myOpenCV- 4.3 点击Configure-选取编译器Visual Studio 11 2012,需要说明的是,这里编译器种类比较多,win64是针对于64位系统开发专用,在通常的软件开发过程中建议选取win32。
配置完成后,如下图所示:
Notice:此处Configure中需要联网下载ippicv与ffmepg。若没有出现Configure done,请再次尝试点击Configure。
4.4 下拉右边菜单找到OPENCV-EXTRA-MODULES-PATH,在后面选取路径为:
C:/OpenCV3.1/opencv/opencv_contrib-master
如下图:4.5 点击Configure-Generate,最终完成配置后将会在Name栏中列举所有OpenCV库,如下图:
步骤2 VS源码编译
生成后源码位置在C:\OpenCV3.1\myOpenCV,打开主工程OpenCV,
主工程含有151项目,重新生成解决方案。—- 此处会很慢,约20分钟。
全部重新生成: 成功 104 个,失败 0 个,跳过 47 个。
Dubug版本下,dll文件存放目录:C:\OpenCV3.1\myOpenCV\bin\Debug;
lib文件存放目录:C:\OpenCV3.1\myOpenCV\lib\Debug设置当前编译环境为release->重新生成解决方案。—- 同样很慢。。。耐心等。
Release版本下,dll文件存放目录:C:\OpenCV3.1\myOpenCV\bin\Release;
lib文件存放目录:C:\OpenCV3.1\myOpenCV\lib\Release
步骤3 VS工程配置
配置OpenCV开发库的系统路径,win7下计算机右击->属性->高级系统设置->环境变量,在系统变量或xx用户变量中新建变量名Path,变量值设置为:C:\OpenCV3.1\myOpenCV\bin\Release;C:\OpenCV3.1\myOpenCV\bin\Debug,如下图所示。
打开VS,新建win32控制台应用程序TestOpenCV1,选取视图->属性管理器
选取Debug|win32下,Mircrosoft.Cpp.Win32.user,右键->属性
选取VC++目录->包含目录,设置路径为:
C:\OpenCV3.1\include
C:\OpenCV3.1\include\opencv
C:\OpenCV3.1\include\opencv2- 继续在当前属性页,选取VC++目录->库目录,设置路径为:
C:\OpenCV3.1\myOpenCV\lib\Release 继续在当前属性页,选取链接器->输入->附加依赖项->编辑,添加下列值:
opencv_aruco310.lib
opencv_bgsegm310.lib
opencv_bioinspired310.lib
opencv_calib3d310.lib
opencv_aruco310.lib
opencv_bgsegm310.lib
opencv_bioinspired310.lib
opencv_calib3d310.lib
opencv_ccalib310.lib
opencv_core310.lib
opencv_datasets310.lib
opencv_dnn310.lib
opencv_dpm310.lib
opencv_face310.lib
opencv_features2d310.lib
opencv_flann310.lib
opencv_fuzzy310.lib
opencv_highgui310.lib
opencv_imgcodecs310.lib
opencv_imgproc310.lib
opencv_line_descriptor310.lib
opencv_ml310.lib
opencv_objdetect310.lib
opencv_optflow310.lib
opencv_photo310.lib
opencv_plot310.lib
opencv_reg310.lib
opencv_rgbd310.lib
opencv_saliency310.lib
opencv_shape310.lib
opencv_stereo310.lib
opencv_stitching310.lib
opencv_structured_light310.lib
opencv_superres310.lib
opencv_surface_matching310.lib
opencv_text310.lib
opencv_tracking310.lib
opencv_ts310.lib
opencv_video310.lib
opencv_videoio310.lib
opencv_videostab310.lib
opencv_xfeatures2d310.lib
opencv_ximgproc310.lib
opencv_xobjdetect310.lib
opencv_xphoto310.liblib库共41个,包含基础库13,扩展库28。
步骤4 代码测试
- 新建main,输入下列测试代码:
#include <opencv2/opencv.hpp>int main(){ cv::Mat src = cv::imread("dog.png"); cv::imshow("src", src); cv::waitKey(0); return 0;}
- 程序运行结果如下:
- OpenCV3.1开发系列-CMake编译OpenCV3.1及opencv_contrib
- opencv3.3.1、opencv_contrib-3.3.1使用 CMake 编译步骤
- opencv3.1+opencv_contrib编译错误
- OpenCV系列:【1】,OpenCV3.1与opencv_contrib
- opencv3.2+opencv_contrib+cmake
- opencv3.2+opencv_contrib+cmake
- VS+CMake+opencv3+opencv_contrib
- opencv3.1+opencv_contrib 编译出错笔记
- CMake编译VS2015+OpenCV3.1
- CMake+VS2013编译OpenCV3.1
- Cmake编译OpenCV3.1源码
- Opencv3+Opencv_contrib编译
- OpenCV3及opencv_contrib安装
- 利用cmake工具进行OPENCV3.1.0+opencv_contrib扩展编译
- windows下cmake编译opencv3.2+opencv_contrib完整过程
- Windows环境下使用CMake编译OpenCV3.0和OpenCV_contrib
- Windows环境下编译OpenCV3.1和OpenCV_contrib
- Windows环境下编译OpenCV3.1和OpenCV_contrib for vs2008
- Myeclipse+oracle分页查询
- 别轻言放弃
- 删除字符串中出现次数最少的字符
- RTC与Maven Release Plugin结合使用遇到的问题
- 实习第十五天:如何在文件夹中打开DOS命令窗口
- OpenCV3.1开发系列-CMake编译OpenCV3.1及opencv_contrib
- c++第7次实验-素数和回文
- task_struct结构描述
- UNIX环境高级编程-第3章 文件I/O
- C语言之typedef
- Java 线程池的原理与实现
- 63. Unique Paths II
- 顺序表(Seqlist)&链表(List)的基础操作
- OCR字符切割实例