图像平滑

  • 思维导图
  • 噪声
  • 噪声的大致分类
  • 空域平滑滤波
  • 均值滤波
  • 简单的卷积运算
  • 高斯滤波
  • 中值滤波


思维导图

这是按照书上内容来的大致的思维导图,可以大概知道有些什么东西、方便理清方向。

泊松噪声的python实现 泊松噪声处理_matlab

噪声

图像获取、传输和存储过程中受到的各种干扰导致图像的质量受损

噪声的大致分类

高斯噪声
泊松噪声
颗粒噪声
这里不细说、打给就是用统计分布来描述不同的噪声。

空域平滑滤波

操作对象:图像的像素灰度值。
我的理解就是你在转换为灰度图像之后的那个矩阵的每一个点的值。
主要指的是基于图像空间的领域模板运算。

大概就是你在处理一个点的时候要考虑到相邻的点,最直观就是用周围的点当作你处理函数的参数。

均值滤波

领域平均法

首先你得有一个均值模板

例如这样的3×3、5×5模板

泊松噪声的python实现 泊松噪声处理_图像处理_02


然后进行卷积运算

简单的卷积运算

那什么是卷积运算,这里就是简单的运算,先看下面的动图

泊松噪声的python实现 泊松噪声处理_matlab_03

泊松噪声的python实现 泊松噪声处理_泊松噪声的python实现_04


例如这里是3×3的就每一个都这样算,前面的最外面的那个一圈不管、你的图片肯定不可能仅仅是个5×5的矩阵对吧。

处理的原理就是这样。

result=filter2(fspecial('average',3),noiseI)
%使用fspecial创建3*3的均值滤波处理noiseI图像。

高斯滤波

高斯滤波和均值滤波都是进行卷积运算、但是高斯滤波的公式理有一个σ也就是标准差、这个和高斯分布的公式对应,还是可以联系上面的动图、但是他每到一个区域就会把领域内像素的灰度按照高斯正态分布的曲线进行统计、分配加权系数、然后将邻域内所有点的加权平局值来代替原来的像素值。

下列是典型的高斯模板

泊松噪声的python实现 泊松噪声处理_泊松噪声的python实现_05

对于系数σ、反应了区域数据的离散程度、
σ越小离散程度越低,中心值远大于周边
σ越大反之

emmmmmm

为什么是这样呢,我个人理解是、可以看分布函数他满足正太分布如果σ小

泊松噪声的python实现 泊松噪声处理_泊松噪声的python实现_06


就是这样子,所以我们权重取的平均一些

而σ大则是这样

泊松噪声的python实现 泊松噪声处理_图像处理_07


权重就不同

所以我们先要生成滤波器再对原矩阵进行处理。

中值滤波

中值滤波顾名思义就是取中值进行,还是和上面一样例如选取一个3×3的区域,将这个区域的所有灰度值从小到大排序取中值作为该点的值。

B=medfilt2(A,[M N])%用大小为M N的滤波器对A进行处理。

此外中值滤波可以选择不同的形状

对于有缓变的较长轮廓线物体的图像推荐长方形和圆心窗口;

有尖顶角物体的图像推荐十字形窗口;

窗口大小不超过图像中最小有效物体的尺寸。