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/sources

  • 4.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.lib

  • lib库共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;}
  • 程序运行结果如下:
0 0
原创粉丝点击