阅读桑迪潘·戴伊的《Python图像处理实战》笔记四

四、图像增强

1.逐点强度变换——像素变换

对输入图像的每个图像f(x,y)应用传递函数T,在输出图像中生成相应的像素。
1.1对数变换(point()函数)
在图像中压缩或拉伸至一定灰度范围时;点变化函数一般形式为:s=T®=clog⁡(1+r)
1.2幂律变换
s=T®=c
r^y
1.3对比度拉伸
(1)以低对比度图像作为输入,将强度值的较窄范围拉伸至所需的脚宽范围,以输出高对比度的输出图像,从而增强图像的对比度。
(2)变换函数由contrast()函数定义分段线性函数;
1.4二值化
g(x,y)={█(1,f(x,y)>T@0,其他)┤
不同灰度阈值的二值图像的阴影处理不当,会导致人工痕迹显著的伪轮廓;
减少伪轮廓的方法是在量化前对输入图像加入均匀分布的白噪声;
(1)半色调二值化:对于灰度图像的每个输入像素f(x,y),添加一个独立的均匀分布于[-128,128]内的随机数,然后进行二值化处理。
(2)Floyed-Steining算法使用误差扩散技术来实现抖动,即将像素的剩余量化误差推加到相邻像素上,再做处理。

2.直方图处理——直方图均衡化和匹配

(1)使用equalize_hist()函数均衡化
均衡化风格:一对整个图像的全局操作;二局部的(自适应)操作,将图像分割成块,并在每个块上运行直方图均衡化。
(2)匹配过程:
①计算每个图像的累积直方图;②已知输入图像的任意像素值x,在输出图像中匹配输入图像的直方图与模板图像的直方图找到对应的像素值x_;③已知x像素值的累积直方图G,找到一个像素值x_,使其累积分布值H在参照图中等于G,即H=G;④输入值x由x_替代。

3.线性噪声平滑(均值滤波器)

(1)使用PIL的ImageFilter模块的函数平滑
(2)基于盒模糊均值化平滑ImageFilter.Kernel()函数,3x3和5x5的核平滑
(3)基于高斯模糊滤波器,ImageFilter.GaussianBlur()函数

4.非线性噪声平滑(中值滤波器


(1)ImageFilter.MedianFilter()函数,可以极好的去除椒盐噪声
(2)使用MaxFilter()去除脉冲噪声,然后使用MinFilter()去除图像中的盐噪声
(3)双边滤波器(边缘识别)实现图像去噪,标准差越大,图像噪声越小,模糊程度越高
(4)非局部均值滤波器(保留纹理)

你可能感兴趣的:(笔记,python,图像处理,matplotlib)