一.OpenCV简介

OpenCV所有的类和函数都在cv命名空间里面,可以用

using namespace cv;

#include "opencv2/opencv.hpp"

1.Core模块--核心组件模块

#include "opencv2/core/core_c.h"

#include "opencv2/core/core.hpp"

基础结构及操作 动态结构  数组操作 绘图函数  XML/YAML  聚类及实用程序  系统函数宏

2.Highgui模块--顶层GUI及视频I/O

#include "opencv2/highgui/highgui_c.h"

#include "opencv2/highgui/highgui.hpp"

用户界面 读/写图像及视频 QT新功能

3.Imgproc模块--图像处理模块

#include "opencv2/imgproc/imgproc_c.h"

#include "opencv2/imgproc/imgproc.hpp"

图像滤波  几何图像变换 混合图像变换 直方图  结构分析及形状描述  运动分析及目标跟踪/特征/目标检测

4.Photo模块--计算图像

#include "opencv2/photo/photo.hpp"

图像修复及去噪

5.Video模块--视频分析

#include "opencv2/video/video.hpp"

运动分析及目标跟踪

6.Features2d模块--2维特征框架

#include "opencv/features2d/features2d.hpp"

特征检测与描述 特征检测提取匹配接口 关键点与匹配点绘图及对象分类

7.Calib3d模块--摄像机标定及3维重建

#include "opencv2/calib3d/calib3d.hpp"

包含摄像机标定及3维重建

8.Objdetect模块--目标检测

#include "opencv2/objdetect/objdetect.hpp"

级联分类器及SVM

9.ML模块--及其学习

#include "opencv2/ml/ml.hpp"

包含机器学习(统计模型 贝叶斯分类器 最近邻分类器 支持向量机 决策树 提升 梯度提升树  随机树 超随机树  最大期望 神经网络 及 机器学习数据)

10.Flann模块--聚类及多维空间搜索

#include "opencv2/flann/miniflann.hpp"

包含计算几何,快速最近邻搜素及聚类

11.Contrib模块--贡献及实验成果

#include "opencv2/contrib/contrib.hpp"

未成熟的理论应用,包含立体匹配 人脸识别 视网膜模型等

12.Legacy模型--弃用的成果

运动分析 最大期望 直方图 CAPI  特征检测及描述等模块中弃用的成果

13.Ocl模块--计算机视觉中OpenCL加速

计算机视觉中OpenCL加速模块

14.Nonfree模块--未免费功能

主要包含特征检测与描述相关受保护成果

15.Stitching模块--图像拼接

图像拼接顶层操作函数 旋转 自动标定 仿射变换 接缝估计 曝光补充  及 图像融合技术

16.Gpu模块--计算机视觉中GPU加速

GPU模块及数据结构,包含图像处理与分析模块

二.图像常用方法

图像可以分为四种基本类型:二值图像、灰度图像、索引图像、RGB图像
线性代数  矩阵分析
 
图像处理常用的方法:
    1.图像变换
 
    2.图像编码与压缩
 
    3.图像增强与复原
 
    4.图像分割
 
    5.图像描述
 
    6.图像分类(识别)
 
    7.图像恢复
 
    8.图像匹配分析
 
一、256色转灰度图
二、Walsh变换
三、二值化变换
四、阈值变换
五、傅立叶变换
六、离散余弦变换
 
数字图像处理领域的二十四个典型算法及vc实现、第二章
七、高斯平滑
八、图像平移
九、图像缩放
十、图像旋转

直方图均衡化  常见滤波  图像锐化 边缘提取  二值化

三.数字图像处理内容

1.点运算

点运算主要针对图像的像素进行加/减/乘/除等运算.图像的点运算可以有效地改变图像的直方图分布,可以提供图像的分辨率以及图像均衡

2.几何变换

几何变换包括对图像的坐标变换/移动/缩小/放大/选择,多个图像的配准以及图像的扭曲校正

3.图像增强

图像增强的作用主要是突出图像的重要信息,同时减弱或者去除不需要的信息.常用的方法有灰度变换增强/直方图增强/频域增强以及彩色增强

4.图像复原

图像复原的主要目的是去除干扰和模糊,恢复图像的本来面目.例如去噪声复原处理常用的方法有线性复原和非线性复原

5.图像的重建

图像的重建起源于CT技术的发展,主要是利用采集的数据来重建图像,图像重建的主要算法有代数法/迭代法/傅立叶反投影法和使用最广泛的卷积反投影法

6.图像形态学处理

图像形态学是数学形态学的延伸,可以实现图像的腐蚀/膨胀和细化等效果

7.图像分割

图像分割的主要目的是将用户感兴趣的区域划分出来,主要方法有边缘分割法/阈值分割法/区域分割法和纹理分割法

8.图像的编码

图像编码主要是对图像进行压缩,制定多种编码标准

9.图像匹配

图像匹配是指通过一定的匹配算法在多幅图像之间进行识别,可分为以像素为基础的匹配和以特征为基础的匹配

四.OpenCV学习流程

1.先导篇

参考OpenCV2:先导篇 基础数据类型

参考OpenCV2:先导篇 图像分类

2.正式篇

参考:OpenCV2:第一章 图像表示

参考:OpenCV2:第二章 创建图像并显示

参考:OpenCV2:第三章 读取图像

参考:OpenCV2:第四章 导出图像

参考:OpenCV2:第五章 访问图像

参考:OpenCV2:第六章 图像几何变换

参考:OpenCV2:第七章 图像处理

参考:OpenCV2:第八章 界面事件

参考:OpenCV2:第九章 图像比较

参考:OpenCV2:第十章 视频操作

参考:OpenCV2:第十一章 图像转换

3.总结篇

参考:OpenCV2:总结篇 core模块

参考:OpenCV2:总结篇 highgui模块

参考OpenCV2:总结篇 PS算法实现

3.应用篇

参考: OpenCV2:应用篇 QT+OpenCV实现图片编辑器

OpenCV2:介绍的更多相关文章

  1. OpenCV2:特征匹配及其优化

    在OpenCV2简单的特征匹配中对使用OpenCV2进行特征匹配的步骤做了一个简单的介绍,其匹配出的结果是非常粗糙的,在这篇文章中对使用OpenCV2进行匹配的细化做一个简单的总结.主要包括以下几个内 ...

  2. OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)

    在OpenCV2:图像的几何变换,平移.镜像.缩放.旋转(1)主要介绍了图像变换中的向前映射.向后映射.处理变换过程中浮点坐标像素值的插值算法,并且基于OpenCV2实现了两个简单的几何变换:平移和镜 ...

  3. OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)

    图像的几何变换是在不改变图像内容的前提下对图像像素的进行空间几何变换,主要包括了图像的平移变换.镜像变换.缩放和旋转等.本文首先介绍了图像几何变换的一些基本概念,然后再OpenCV2下实现了图像的平移 ...

  4. OpenCV2:等间隔采样和局部均值的图像缩小

    图像的缩小从物理意义上来说,就是将图像的每个像素的大小缩小相应的倍数.但是,改变像素的物理尺寸显然不是那么容易的,从数字图像处理的角度来看,图像的缩小实际就是通过减少像素个数来实现的.显而易见的,减少 ...

  5. OpenCV2邻域和模板操作

    在图像处理中,通过当前位置的邻域像素计算新的像素值是很常见的操作.当邻域包含图像的上几行和下几行时,就需要同时扫描图像的若干行,这就是图像的邻域操作了.至于模板操作是实现空间滤波的基础,通常是使用一个 ...

  6. opencv2 使用鼠标绘制矩形并截取和保存矩形区域图像

    前言 好长时间没写博文了,今天偷偷懒写篇关于opencv2中鼠标响应操作的文章. 鼠标操作属于用户接口设计,以前一直使用Qt来做,但是如果只需要简单的鼠标,键盘操作,直接调用opencv库的函数也未尝 ...

  7. OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试

    这里假设看到这篇文章的人都已经对OpenCV以及机器视觉等最基础的概念有了一定的认识,因此本文不会对OpenCV做任何的介绍,而是直接介绍OpenCV2.4.9的安装与测试.此外本文只是简单的介绍如何 ...

  8. caffe安装:ubuntu16.04 + opencv2.4 + python 2.7+ CUDA 8.0 RC + CuDNN 5.0

    官方教程:http://caffe.berkeleyvision.org/install_apt.html 主要参考教程: https://github.com/BVLC/caffe/wiki/Ubu ...

  9. VS2013+opencv2.4.9(10)配置[zz]

    1.         下载opencv2.4.9,然后解压到一个位置 设置opencv SDK解压目录,点击Extract后解压 我是习惯于解压到这个位置的. 解压过程如上图. 2.          ...

随机推荐

  1. angularjs 切换tab页的一个方法

    tab条的 css: .floor-tab-li { float: left; padding: 6px 12px; font-size: 14px; font-weight: normal; lin ...

  2. 51nod1352(exgcd)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1352 题意:中文题诶- 思路:exgcd 显然题目可以描述为: ...

  3. java操作mongodb数据库实现新建数据库,新建集合,新建文档

    *首先明确一点,要通过java代码创建mongodb数据库实例,需要同时创建集合和文档. 代码实现: /* 建立与mongodb数据库的连接,可指定参数,如:MongoClient client = ...

  4. 牛客寒假5-J.炫酷数学

    链接:https://ac.nowcoder.com/acm/contest/331/J 题意: 小希最近想知道一个东西,就是A+B=A|B(其中|为按位或)的二元组有多少个. 当然,直接做这个式子对 ...

  5. Gym - 101810E ACM International Collegiate Programming Contest (2018)

    bryce1010模板 http://codeforces.com/gym/101810 #include<bits/stdc++.h> using namespace std; #def ...

  6. 解决windows下 Python中 matplotlib 做图中文不显示的问题

    在代码中填入以下两句即可 from pylab import mpl mpl.rcParams['font.sans-serif'] = [font_name] 如:mpl.rcParams['fon ...

  7. 100 Same Tree 相同的树

    给定两个二叉树,写一个函数来检查它们是否相同.如果两棵树在结构上相同并且节点具有相同的值,则认为它们是相同的.示例 1:输入 :      1         1             / \    ...

  8. VMware下OSSIM 4.1.0的下载、安装和初步使用(图文详解)

    不多说,直接上干货! 为什么,我写了一篇OSSIM 5.2.0的,还要再来写OSSIM 4.1.0呢,是因为,OSSIM 5.2.0所需内存较大,8G甚至16G,但是,肯定性能和里面集成组件越高级.也 ...

  9. Negut 上传乱码

    解决办法 修改 bat  文件的 格式为ANSI格式即可

  10. laravel 错误总结

    1.ReflectionException (-1) Class PhotosController does not exist 原因: 资源路由的问题 ,命名空间要区分大小写,admin首字母要大写 ...