文档章节

openCV3学习笔记-开门篇

Ginter
 Ginter
发布于 2016/03/23 11:23
字数 855
阅读 264
收藏 2

1  OpenCV是什么?

OpenCV(Open Source Computer Vison Libray),是基于开源发行的计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV覆盖了计算机视觉的许多应用领域,可用于解决 人机交互,物体识别,图像分区,人脸识别,动作识别,运动追踪,机器人领域的问题。

OpenCV还提供了MLL机器学习库用于统计方面的模式识别和聚类

OpenCV法院于Intel的研究中心,并在俄罗斯得到实现和优化

出现的目的:提供一个可普遍适用的计算机视觉库

2 环境配置等

学习openCV肯定得需要很多练习,即是对一些功能的验证,也是通过一些图像视频处理等的效果的展示让我对其保持持续的热情。

首先的搭建openCV的环境,openCV的既可以在windows下开发也可以在linux下开发,但是在Linux配置开发等比windows下安逸多,我选择的Linux下!具体参照之前的博客 Linux 下openCV 3.0环境搭建总结 

3.开发之前我们先看看openCV3的整体框架,以便对其有一个初步的全面了解

因为是C++写的代码我们进入openCV源码的include目录中可以看到 有两个文件夹opencv 和opencv2 ,

在opencv文件夹是1.0版本最核心的内容 ,有以下几个文件

另外我们进入openCV2这个目录,发现里面有很多目录,我们打开openCV_modules.hpp文件发现里面定义了很多宏

#define HAVE_OPENCV_CALIB3D
#define HAVE_OPENCV_CORE
#define HAVE_OPENCV_FEATURES2D
#define HAVE_OPENCV_FLANN
#define HAVE_OPENCV_HAL
#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_SHAPE
#define HAVE_OPENCV_STITCHING
#define HAVE_OPENCV_SUPERRES
#define HAVE_OPENCV_VIDEO
#define HAVE_OPENCV_VIDEOIO
#define HAVE_OPENCV_VIDEOSTAB

可看到定义了openCV2所有组件的宏与各个目录基本对照!

  • calib3d :校准和3D,主要是相机校准和三位重建

  • contrib :人脸识别,立体匹配等(新加功能,暂不稳定)

  • core    :核心功能,包括opencv基本数据结构,动态数据结构,绘图,数组操作函数,辅助功能与系统函数和宏,与openGL的互操作

  • imgproc :Image和Process ,图像处理模块,滤波,图像转换,等

  • feature2d: 2D功能框架, 特征检测,描述符提取、匹配器,通用描述符,关键点绘制函数和匹配功能绘制函数

  • flann   :高纬的近似近领快速搜索算法库 包含:快速近似最近邻搜索和聚类

  • gpu     :运用GPU加速的计算机视觉模块

  • highgui : 高层GUI图形用户界面

  • legacy  : 一些废弃的代码库,保留下来作为向下兼容

  • ml      :机器学习模块,基本上是统计模型和分类算法

  • nonfree :一些有专利的算法模块,包含特征检测和GPU相关的内容

  • .objdetect:目标检测模块,包含级联分类和Latent SVM

  • ocl    :运用openGL加速计算视觉模块

  • photo   :包含图像修复和图像去噪两部分

  • stitching:图像拼接模块

  • superres :超分辨率技术和相关功能模块

  • ts      :openCV测试相关

  • video   :视频分析模块

  • videostab   :视频稳定相关组件


学习书籍:opencv3编程入门


© 著作权归作者所有

Ginter
粉丝 1
博文 21
码字总数 11752
作品 0
成都
程序员
私信 提问
OpenCV笔记大集锦

 整理了我所了解的有关OpenCV的学习笔记、原理分析、使用例程等相关的博文。排序不分先后,随机整理的。如果有好的资源,也欢迎介绍和分享。 1:OpenCV学习笔记 作者:CSDN 数量:55篇博...

langb2014
2016/05/11
0
0
【OpenCV3图像处理】提取轮廓的凸包、外包矩形、最小外包矩形、最小外包圆

1、提取轮廓的凸包 convexhull()函数(点我看OpenCV3.2帮助文档) 函数调用形式: void convexhul(InputArray points,OutputArray hull,bool clockwise=false,bool returnPoints=true) 输入......

u011574296
2017/06/15
0
0
OpenCV3中的机器学习算法

OpenCV3中加入了几种机器学习算法,可以将机器学习算法与图像和视频处理结合起来。可参考: OpenCV/OpenCV3计算机视觉软件支持库和最新资源 OpenCV3的最新特征 OpenCV3的人脸检测-使用Pytho...

openthings
2016/03/01
126
0
《学习OpenCV》(中文版)学习笔记

概述 POCT-IR图像识别算法中抛开实验室相关的内容,其图像处理部分都是使用OpenCV来完成。通过学习《OpenCV3编程入门》,可以更好的在POCT-IR中使用OpenCV,同时也可以对项目中可以提升的点提...

sycasl
2018/07/12
0
0
在Xcode和AppCode上配置OpenCV3

在浏览了几篇博文后,我也成功的在我们的机器上配置了opencv3,下面是我的安装过程: 我的环境: 安装流程: 配置OpenCV3 在Xcode上面配置OpenCV3: 图1.png 图2.png 图3.png 图4 .png 图5.p...

小飞猪哈哈
2017/12/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我为什么要写微信公众号

埋一颗种子,细心呵护,静待她枝繁叶茂,葱郁参天 V2论坛上有个帖子【做程序员最重要的还是一定要有自己的作品】,作者写道: 能有一个作品和你的名字联系在一起,应当成为在职业生涯前期着意...

运维咖啡吧
34分钟前
3
0
数据库

数据库架构 数据库架构可以分为存储文件系统和程序实例两大块,而程序实例根据不同的功能又可以分为如下小模块。 1550644570798 索引模块 常见的问题有: 为什么要使用索引 什么样的信息能成...

一只小青蛙
今天
5
0
PHP常用经典算法实现

<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = int......

半缘修道半缘君丶
昨天
5
0
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

豌豆花下猫
昨天
6
0
git commit message form

commit message一般包括3部分:Header、Body、Footer。 <type>(<scope>):<subject>blank line<body>blank line<footer> header是必需的,body、footer可以省略。 header中type、subject......

ninjaFrog
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部