基本图像操作

基本图像操作

1.直方图(histograms)

定义

直方图是对图像在某个指标的不同值的数量的统计,如亮度直方图,灰度直方图,颜色直方图。
例子:
亮度直方图 -> 表达了每个亮度级的像素数,图像对比度
亮度 = (R + B + G) / 3 范围 0-255


优缺点

优点:简单,快速,高效
缺点:不能描述空间信息;不能描述图像细节(因为仅表达了不同级的统计值分布,不同图像可以有很接近的直方图)

金字塔直方图

将图片分为n x n的子图,每个子图一个直方图,从而能够区分总体直方图相近的不同图像。

Q: 图像的局部不变特征

图像在经过一些变换后仍保持不变的特征,变换有尺度,平移,旋转,仿射,投影,光度,卷积等。
基本问题:局部不变特征的检测,描述,匹配。
特征除了具备不变性,还应具有可靠性,对噪声等的鲁棒性等。目前的特征算子有SIFT等。【HOG(方向梯度直方图),用于物体检测的特征。 介绍】
综述:Tinne Tuytelaars. Local Invariant Feature Detectors: A Survey, 2007 Computer Graphic & Vision

2.点运算(point operation)

点运算将输入图象映射为输出图象,输出图象每个象素点的灰度值仅由对应的输入象素点的值决定。它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。点运算因其作用性质有时也被称为对比度增强、对比度拉伸或灰度变换。
点运算实际上是灰度到灰度的映射过程,设输入图象为A(x,y),输出图象为B(x,y),则点运算可表示为
B(x,y)=f(A(x,y))

Basic点运算

linear brightness relation


其中k为增益,l为偏移

锯齿算子sawtooth


其他数学函数

  • logarithm
  • exponent

直方图操作histogram

直方图正则化normalization

拉伸平移原始直方图

其中是想要归一化到的范围,如0,255。

直方图均衡化equalization

使直方图分布均匀
对于连续值:

对于离散值:

其中s表示累积概率分布。
变换函数g:

example:



可以看出均衡化增强了对比度,使得表示的级数范围更大了

均衡化和归一化也可以对颜色通道进行的。

均衡化与归一化对比:
归一化:线性可逆过程,对比度变化比较缓和soft
均衡化:非线性不可逆变换,对比度变化明显,强烈。

直方图匹配specification

直方图匹配将原图的直方图转变为目标直方图的形式。

步骤是:将两个直方图做均衡化(求累积概率),取最接近的级数匹配,匹配关系就是转换关系。最接近匹配的目的就是让转换后的累积概率近似,从而原始级数概率分布就会相似。

阈值处理Thresholding

阈值处理是给定一个阈值T,让大于T的为255白色,小于T的为0黑色的二值化处理。

自适应阈值处理

  • Otsu's method
    最大化下面的值:

图像噪声

图像噪声可以分为两类:

  1. 高斯噪声gaussian noise
    来源:传感器噪声,光照不足,高温;电子电路噪声。
    公示表示:

    其中x,y是位置,i是通道;noise是高斯噪声满足
  2. 椒盐噪声salt and pepper noise
    来源:信号到数字转换错误,位传输错误。
    salt:指某个像素为255; pepper:某个像素为0; 噪声密度为常数

组操作

指利用了像素周围的信息。

模版卷积

这个其实就是一个卷积操作

平均算子

当卷积核数值都为为1/n时,称平均算子。
作用是可以减少噪声,但是平均操作会造成图片模糊和细节丢失。

高斯平均

为了保留更多原始细节,有了高斯平均算子:

与平均算子对比:

减少噪声对比:

中值滤波

用中值代替。
有个有趣的应用就是找背景:

相比于模版平均,时空平均,中值能完全得到背景。

mode filter

用最频繁的像素值;
当每个值只有一个时,使用截断中值去逼近mode
truncated median filter:

结果:

方法对比

  • 平均算子
    减少很多噪声但是图片更模糊了
  • 高斯平均
    相比于平均算子保留了跟多细节,但是优势不明显
  • 中值
    保留了一些噪声但是有清晰的边界
  • 截断中值
    减少噪声,保留了很多细节

二值形态变化操作

对二值图像进行膨胀(放大),腐蚀(缩小)操作。

erosion

腐蚀操作:扫描图像的每一个像素,用结构元素(可自定义的,水平线竖线等等)与其覆盖的二值图像做“与”操作:如果都为1,结果图像的该像素为1,否则为0。

dilation

膨胀操作:扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作:如果都为0,结果图像的该像素为0,否则为1。

opening operator

在腐蚀后加膨胀操作

closing operator

在膨胀后加腐蚀操作

作用

  • 膨胀: 最直接的就是对物体形状的扩展,且能连接相近物体,填充物体内空白
  • 腐蚀:缩小形状,看起来细些,做多次后会得到形状线条,比如指纹,提取形态骨架;分离邻近物体;去除小噪声,小点。
  • 开运算:分离邻近物体和平滑边界
  • 闭运算:填充物体内细小空洞,连接邻近物体和平滑边界
    关于操作的代码可以参考文章Matlab DIP(瓦)ch9形态学图像处理

你可能感兴趣的:(基本图像操作)