当前位置:   article > 正文

【OpenCV3编程入门学习笔记】——第1章 邂逅OpenCV_have_opencv_dnn=off

have_opencv_dnn=off

邂逅OpenCV

前言

笔记系列

参考书籍:OpenCV3编程入门

作者:毛星云

版权方:电子工业出版社

出版日期:2015-02

笔记仅供本人参考使用,不具备共通性

笔记中代码均是OpenCV+Qt的代码,并非用vs开发,请勿混淆

1.1 OpenCV周边概念认知

1.1.1 图像处理、计算机视觉与OpenCV

  • 图像处理

    • Image Processing
    • 计算机对图像进行分析,以达到所需结果的技术,又称影像处理
    • 该技术包括
      • 图像压缩、增强和复原
      • 图像匹配、描述
      • 图像识别
    • 一般指数字图像处理(Digital Image Processing)
      • 数字图像是一个大的二维数组
        • 数组元素称为像素
        • 数组值称为灰度
      • 处理是指对数字图像进行
        • 去除噪声
        • 增强
        • 复原
        • 分割
        • 提取特征
    • 侧重于“处理”图像
  • 计算机视觉

    • Computer Vision
    • 用设备代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理
    • 侧重于使用计算机来模拟人的视觉
  • OpenCV

    • Open Source Computer Vision Library

    • 一款基于开源发行的跨平台计算机视觉库

    • 实现了图像处理和计算机视觉发面的很多通用算法

1.1.2 OpenCV概述

  • Open Source Computer Vision Library
  • 开源计算机视觉库
  • 跨平台
  • 设计目标
    • 执行速度尽量快
    • 关注实时应用
  • 采用优化的C/C++代码编写
  • 能够多核处理
  • 提供MLL(Machine Learning Library)机器学习库

1.1.3 起源及发展

1.1.4 应用概述

  • 人机交互
  • 物体识别
  • 图像分区
  • 人脸识别
  • 动作识别
  • 运动跟踪
  • 机器人

1.2 OpenCV基本架构分析

初学OpenCV时,先了解一下OpenCV的整体模块架构,再重点学习和突破自己感兴趣的部分,就会有得心应手,一览众山小的学习体验

通过OpenCV安装路径下include目录里面头文件的分类存放,来略读一下它的庞杂组织架构

进入到...\opencv\build\include\opencv2目录

在这里插入图片描述

在该目录中,找到opencv_modules.hpp的hpp文件

该文件中存放的是OpenCV2中与新模块构造相关的说明代码:

/*
 *      ** File generated automatically, do not modify **
 *		**				文件自动生成,请勿修改				**
 *
 * This file defines the list of modules available in current build configuration
 *
 * 该文件定义了当前构建配置中可用的模块列表
 *
*/

// This definition means that OpenCV is built with enabled non-free code.
// 这个定义意味着OpenCV是用启用的非自由代码构建的
// For example, patented algorithms for non-profit/non-commercial use only.
// 例如,专利算法只能用于非营利/非商业用途。
/* #undef OPENCV_ENABLE_NONFREE */

#define HAVE_OPENCV_CALIB3D
#define HAVE_OPENCV_CORE
#define HAVE_OPENCV_DNN
#define HAVE_OPENCV_FEATURES2D
#define HAVE_OPENCV_FLANN
#define HAVE_OPENCV_GAPI
#define HAVE_OPENCV_HIGHGUI
#define HAVE_OPENCV_IMGCODECS
#define HAVE_OPENCV_IMGPROC
#define HAVE_OPENCV_ML
#define HAVE_OPENCV_OBJDETECT
#define HAVE_OPENCV_PHOTO
#define HAVE_OPENCV_STITCHING
#define HAVE_OPENCV_VIDEO
#define HAVE_OPENCV_VIDEOIO
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

如上,L17~L31就是OpenCV的所有模块,按照宏定义的顺序依次介绍

  • HAVE_OPENCV_CALIB3D ---- calib3d
    • Calibration(校准)和3D这两个词的组合缩写
    • 该模块主要是相机校准和三维重建相关的内容
    • 算法包括
      • 多视角几何算法
      • 单个立体摄像头标定
      • 物体姿态估计
      • 立体相似性算法
      • 3D信息的重建
      • ……
  • HAVE_OPENCV_CORE ---- core
    • 核心功能模块
    • 包含如下内容
      • OpenCV基本数据结构
      • 动态数据结构
      • 绘图函数
      • 数组操作相关函数
      • 辅助功能与系统函数和宏
      • 与OpenGL的互操作
  • HAVE_OPENCV_DNN ---- dnn
    • Deep Neural Network
    • 深层神经网络模块
    • 详细内容暂略
  • HAVE_OPENCV_FEATURES2D ---- features2d
    • 即Features2D
    • 2D功能框架
    • 包含内容如下
      • 特征检测和描述
      • 特征检测器通用接口
      • 描述符提取器通用接口
      • 描述符匹配器通用接口
      • 通用描述符匹配器通用接口
      • 关键点绘制函数和匹配功能绘制函数
  • HAVE_OPENCV_FLANN ---- flann
    • Fast Library for Approximate Nearest Neighbors
    • 高位的近似近邻快速搜索算法库
    • 包含内容如下
      • 快速近似最近邻搜索
      • 聚类
  • HAVE_OPENCV_GAPI ---- gapi
    • G-API(Graph API) - 超高效图像处理 pipeline 引擎已集成为opencv_gapi模块
    • 这是一个新的 API,允许在流水线级别上对图像处理/CV 算法进行卸载和优化。
    • 详细内容暂略
  • HAVE_OPENCV_HIGHGUI ---- highgui
    • 高层GUI图形用户界面
    • 包含媒体的输入输出、视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容
  • HAVE_OPENCV_IMGCODECS
  • define HAVE_OPENCV_IMGPROC
  • HAVE_OPENCV_ML ---- ml
    • Machine Learning
    • 机器学习模块
    • 基本上是统计模型和分类算法
    • 包含如下内容:
      • 统计模型
      • 一般贝叶斯分类器
      • K-近邻
      • 支持向量机
      • 决策树
      • 提升
      • 梯度提高树
      • 随机树
      • 超随机树
      • 期望最大化
      • 神经网路
      • MLData
  • HAVE_OPENCV_OBJDETECTL ---- objectect
    • 目标检测模块
    • 包含Cascade Classification(级联分类)和Latent SVM两大部分
  • HAVE_OPENCV_PHOTO ---- photo
    • Computational Photography
    • 包含图像修复和图像去噪两部分
  • HAV
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/100594
推荐阅读
相关标签
  

闽ICP备14008679号