opencv---介绍

opencv---介绍

  • 图像简介
    • 2.1 图像起源
    • 1.2 数字图像的表示
      • 1.2.1 位数
      • 1.2.2 图像分类
  • 1. opencv
    • opencv模块

图像简介

2.1 图像起源

图像是人类视觉的基础,是自然景物的客观反映。“图”是物体反射或透射光的分布,“像”是人的视觉系统所接受的图在人脑中所形成的印象或认识。
模拟图像,即连续图像,是通过某种物理量(如光、电等)的强弱变换来记录图像的亮度信息,所以是连续变换的。模拟图像的特点是易受干扰。
数字图像,亮度用离散值表示,将图片编码成五个灰度级。

1.2 数字图像的表示

1.2.1 位数

计算机采用0/1编码的系统,因此数字图像也是利用0/1来记录信息。平常接触的图像都是8位数图像,包含0–255灰度,其中0表示黑,1表示白。

1.2.2 图像分类

  • 二值图像
    二值图像的二维矩阵仅有0/1组成,0表示黑,1表示白。由于每一个像素(矩阵中的每一个元素)仅有两种可能的取值(0或1),所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。
  • 灰度图
    每个像素都只有一个采样颜色的图像,这种图像通常显示为从最暗黑色到最亮的白色的灰度。理论上灰度图可以采样出任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图与黑白图像不同,黑白图像只有黑色和白色两种颜色,而灰度图在黑色与白色之间还有许多级的颜色深度。灰度图像常是在单个电磁波频谱(如可见光)测量每个像素的亮度而得到的,用于显示的灰度图像通常用每个采样像素8位的非线性尺度来保存(8位非线性尺度有256级灰度,16位则有65536级灰度)。
  • 索引图像
    索引图像包括一个数据矩阵(data,x)和一个调色板矩阵(map),数据矩阵可以是uint8、uint16或双精度(double)类型的,而调色板矩阵则总是一个m$\times$3的双精度矩阵。索引图像是一种把像素值直接作为RGB调色板下标的图像,即可把像素值直接映射为调色板数值,当数据矩阵为double类型时,值1表示调色板矩阵的第一行,依次递推;当数据矩阵为uint8或uint16类型时,值0表示调色板矩阵的第一行,依次递推。索引图像只支持一个图层,并只有一个索引彩色通道。
  • 彩色图
    彩色图中,每个像素通常是由红(R),绿(G)和蓝(B)三个分量来表示,分量介于(0,255)。RGB图像与索引图像一样都可以用来表示彩色图像,分别用红(R),绿(G)和蓝(B)三原色的组合来表示每个像素的颜色,同时与索引图像不同的是,RGB图像每个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中。由于每个像素的颜色需由RGB三个分量来表示,M、N分别表示图像的行列数,三个M×N的二维矩阵分别表示各个像素的RGB三个颜色分量。RGB图像的数据类型一般为8位无符号整型,常用于表示和存放真彩色图像。

1. opencv

opencv是一种开源的图像处理库,包括基本的图像处理方法:

  • 几何变换,形态学变换
  • 图像平滑
  • 直方图操作
  • 模糊匹配
  • 霍夫变换
    以及特征提取和描述方法:
  • 理解角点特征
  • Harris和Shi-Tomas算法(角点特征)
  • SIFT/SURF算法(尺度不变)
  • Fast算法(快速提取图像特征点)
  • ORB算法(快速进行特征提取并进行特征描述)

opencv模块

opencv---介绍_第1张图片
其中,core、highgui、imgproc是最基础的模块:

  • core模块实现了最核心的数据结构与基本运算 ,如绘图函数、数组操作等相关函数。
  • highgui模块实现了视频与图像的读取、显示、存储等接口。
  • imgproc模块实现了图像处理的基础方法,包括图像滤波、图像的几何变换、平滑、阈值分割、形态学处理、边缘检测、目标检测、运动分析和对象跟踪等。

此外,对于图像处理其他更高层次的方向及应用,opencv也有相关的模块实现:

  • features2d模块用于提取图像特征以及特征匹配,nonfree模块实现了一些专利算法(如sift特征)
  • objectect模块实现了一些目标检测功能,如:经典的基于Haar、LBP特征的人脸检测;基于HOG的行人、汽车等目标检测;分类器使用cascade classification( 级联分类)和latent SVM等
  • stitching模块实现了图像拼接功能
  • FLANN模块包含快速近似最近邻搜索FLANN和聚类clustering算法
  • ml模块:机器学习模块(SVM、决策树、boosting等)
  • photo模块包含图像修复和图像 去噪两部分
  • video模块针对视频处理,如背景分离、前景检测、对象跟踪等。
  • calib3d模型,即calibration(校准)3D,主要是相机校准和三维重建相关的内容,包含了基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。
  • G-API模块包含超高效的图像处理pipeline引擎。

你可能感兴趣的:(opencv,计算机视觉)