实现方法
为图片添加噪声
高斯噪声
在许多实际情况下,由于配准传感器的物理限制,由信息处理系统记录的图像数据含有不精确性。在加性高斯噪声的情况下,这种图像退化通常可以用线性模糊来描述。为了能够分辨不同滤波器以及各个滤波器参数对图像噪声处理的强度,首先要人为的为图像添加噪声。高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。高斯白噪声包括热噪声和散粒噪声。在通信信道测试和建模中,高斯噪声被用作加性白噪声以产生加性白高斯噪声。
主要函数:noise=np.random.normal(0,1,image.shape)
这里我使用不同的sigma值添加噪声可以明显看出如果有一个非常小的sigma,你几乎看不到这只是一个不变的灰色。随着让Sigma变得越来越大,开始看到越来越多的斑点。这就是效果,它只是一个加到图像上的噪声函数。
椒盐噪声
为了遵守控制变量法这里我选取上述四幅图为其添加指定的椒盐噪声(即为四幅图统一添加椒=5000盐=5000)。椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)
主要函数:noise = [[np.random.randint(0, x), np.random.randint(0, y),50]
综上选择椒盐+sigma41图像先来完成维纳滤波
维纳滤波
原理
(1)有限长滤波器
对于一列输入信号x,一般的无限长线性滤波器输出为:
- y(n)= Σh(m)x(n-m) m=0…∞
实际中,滤波器的长度,即阶数是有限长的,设为M,则有:
- y(n)= Σh(m)x(n-m) m=0…M
即滤波器的当前时刻输出为前M个时刻的值经过加权之后得到的。
为便于书写与理解,上式可以写为矩阵形式: