一、噪声添加
椒盐噪声:

I_noise=double(imnoise(I,'salt & pepper',0.02));%后面0.02为参数

高斯噪声:

I_noise=double(imnoise(I,'gaussian',0.02));

二、均值滤波原理
主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声。
缺点:容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。

原像素值:
|1|2|3|
|4|5|6|
|7|8|9|

均值后:(123456789去均值为5,放在中心位置,由此可见均值滤波会忽略掉四周的像素值,四周会变得模糊)
| | | |
| |5| |
| | | |

以下代码分别添加了 高斯噪声和椒盐噪声 然后进行均值滤波处理

  1. 对椒盐噪声的各种均值滤波处理
%均值滤波
%椒盐噪声部分
figure(2);
%显示原图
subplot(2,3,1);
imshow(I,[]);%[]自动产生适当的比例显示图像
title('原图');
%添加椒盐信号
subplot(2,3,2);
I_noise=double(imnoise(I,'salt & pepper',0.02));%salt & pepper注意中间的空格 无空格报错
imshow(I_noise,[]);title('椒盐噪声');
%均值滤波
subplot(2,3,3);
I_3=fspecial('average',[3,3]);%3*3均值滤波
I_3=imfilter(I_noise,I_3);
imshow(I_3,[]);title('3*3算数均值滤波');
subplot(2,3,4);
I_=exp(imfilter(log(I_noise),fspecial('average',3)));%算数均值滤波
imshow(I_,[]);title('3*3几何均值滤波');

subplot(2,3,5);
Q=-1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波');

subplot(2,3,6);
Q=1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波')

均值滤波的应用场景图像 均值滤波的基本原理_灰度


2. 对高斯噪声的各种均值滤波处理

%%均值滤波
%高斯噪声部分
clc;clear;
I=imread('1.jpg');
I=im2double(I);
I=rgb2gray(I);
%MappedData = mapminmax(I ,0, 255)
h=figure(1);
%显示原图
subplot(2,3,1);
imshow(I,[]);%[]自动产生适当的比例显示图像
title('原图');
%添加高斯噪声
subplot(2,3,2);
I_noise=double(imnoise(I,'gaussian',0.02));%salt & pepper注意中间的空格 无空格报错
imshow(I_noise,[]);title('高斯噪声');
%均值滤波
subplot(2,3,3);
I_3=fspecial('average',[3,3]);%3*3均值滤波    建立预定义的滤波算子
I_3=imfilter(I_noise,I_3);%(待处理矩阵,滤波器)
imshow(I_3,[]);title('3*3均值滤波');
subplot(2,3,4);
I_=exp(imfilter(log(I_noise),fspecial('average',3)));%算数均值滤波
imshow(I_,[]);title('3*3几何均值滤波');
subplot(2,3,5);
Q=-1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波');
subplot(2,3,6);
Q=1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=1.5逆谐波滤波器滤波');

均值滤波的应用场景图像 均值滤波的基本原理_均值滤波_02

均值滤波方法二:https://wenku.baidu.com/view/bef73431366baf1ffc4ffe4733687e21af45ff14.html

  1. 函数说明
  • imfilter函数:
    功能:对任意类型数组或者图像进行滤波,或者理解为建立一个自定义功能的类型滤波器(个人理解,不知道对否)。
    意义
    imfilter(img,filter);
    img:带处理矩阵
    filter: 滤波器

  1. 结果分析
    4.1、对高斯噪声图像进行滤波:
    总体来说两个逆谐波均值滤波器的去噪小效果不如均值滤波器滤波的效果。算数均值滤波会使得图像边界变得模糊,而几何均值滤波不会导致此问题。
    原因是:算术均值滤波器的将多个像素的灰度值线性平均,用均值来代替各个像素值,会导致边界图像模糊。采用线性的方法,平均整个窗口范围内的像素值,它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
    4.2、对椒盐噪声图像进行滤波:
    算数均值滤波对椒盐噪声的去除效果较好;Q=-1.5的逆谐波滤波器留下了黑色的胡椒噪声,而Q=1.5的逆谐波滤波器留下了白色的盐噪声。均值滤波对高斯噪声表现较好,对椒盐噪声表现较差。
    原理:对于“胡椒”噪声应该采用Q值为正值的滤波器去噪,而用Q值为负值的滤波器对“盐”噪声进行去噪。