目录
作业一:降噪................................................................................................................................ 2
1 降噪原理...................................................................................................................................... 2
1.1 均值滤波...........................................................................................................................2
1.2 实验分析:......................................................................................................................2
1.2.1 读取原始图像及其直方图...............................................................................2
1.2.2 均值滤波...............................................................................................................3
1.2.3 维纳滤波...............................................................................................................5
1.2.4 均值滤波与维纳滤波混合使用......................................................................6
1.2.5 中值滤波...............................................................................................................8
作业二模糊图像复原................................................................................................................ 10
2 模糊图像复原.......................................................................................................................... 10
2.1 模糊图像复原原理......................................................................................................10
2.2 维纳滤波........................................................................................................................ 11
2.3 模糊图像复原过程......................................................................................................12
2.3.1 运动模糊方向角度的估计............................................................................ 12
2.3.2 运动模糊长度的频谱估计法........................................................................12
2.4 Matlab 模糊图像复原................................................................................................13
1
模糊图像的降噪与恢复
作业一:降噪
1 降噪原理
1.1 均值滤波
均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,
该模板包括了其周围的临近像素(以目标象素为中心的周围 8 个象素,构成一个
滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来
像素值。
均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基
本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点 ,选择
一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该
均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度值 g(x,y) ,即
,m 为该模板中包含当前像素在内的像素总个数。
gx,y =1 (,)
均值滤波能够有效滤除图像中的加性噪声,但均值滤波本身存在着固有的缺
陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,
从而使图像变得模糊。均值滤波主要有算术均值滤波,几何均值滤波,谐波均值
滤波以及逆谐波均值滤波,本文只对算术均值滤波,几何均值滤波和逆谐波均值
滤波进行研究。其中几何均值滤波器所达到的平滑度可以与算术均值滤波器相比,
但在滤波过程中丢失更少的图象细节。
1.2 实验分析:
1.2.1 读取原始图像及其直方图
I=imread('lena_ny.jpg');
figure(1);imshow(I);title('原图像');
figure(2);imhist(I);title('原始图像直方图');
2
图 1.1 原始含噪图片
图 1.2 原始含噪图片直方图
结果分析:
如图 1.1 所示,根据经验所得图片中的噪点由高斯噪声或椒盐噪声所致,但根据
噪声图片的特点,初步判断为高斯噪声。可用图 1.2 图片直方图去判断降噪效果。
1.2.2 均值滤波
I=imread('lena_ny.jpg');
a=double(I);
b=fft2(a);
b1=fftshift(b);
b2=abs(b1)/100000;
%均值滤波
A1=filter2(fspecial('average',3),I)/255; %模板尺寸为 3
A2=filter2(fspecial('average',5),I)/255;% 模板尺寸为 5
A3=filter2(fspecial('average',7),I)/255; %模板尺寸为 7
A4= filter2(fspecial('average',9),I)/255; %模板尺寸为 9
figure(2);imshow(A1);title('均值滤波 3')
figure(3);imhist(A1);title('均值滤波 3 直方图');
figure(4);imshow(A2);title('均值滤波 5')
figure(5);imhist(A2);title('均值滤波 5 直方图');
figure(6);imshow(A3);title('均值滤波 7')
figure(7);imhist(A3);title('均值滤波 7 直方图');
3
图 1.3 均值滤波 3
图 1.4 均值滤波 3 直方图
图 1.5 均值滤波 5
图 1.6 均值滤波 5 直方图
图 1.6 均值滤波 7
图 1.7 均值滤波 7 直方图
结果分析:
由图 1.3、图 1.5、图 1.6 大约可以看出图 1.3 均值滤波 3 处理的效果较好。
4
通过图 1.4、1.6、1.7 与图 1.2 的对比可以看出,确实是图 1.3 均值滤波 3 处理的
效果最好。
1.2.3 维纳滤波
I=imread('lena_ny.jpg');
%维纳滤波
B1=wiener2(I,[3 3]);% 对加噪图像进行维纳滤波
B2=wiener2(I,[5 5]); %对加噪图像进行二维自适应维纳滤波
B3=wiener2(I,[7 7]); %对加噪图像进行二维自适应维纳滤波
figure(3);imshow(B1);title('维纳滤波 3')
figure(4);imhist(B1);title('维纳滤波 3 直方图');
figure(5);imshow(B2);title('维纳滤波 5')
figure(6);imhist(B2);title('维纳滤波 5 直方图');
figure(7);imshow(B3);title('维纳滤波 7')
figure(8);imhist(B3);title('维纳滤波 7 直方图');
图 1.8 维纳滤波 3
图 1.9 维纳滤波 3 直方图
5
图 2.0 维纳滤波 5
图 2.1 维纳滤波 5 直方图
图 2.2 维纳滤波 7
图 2.3 维纳滤波 7 直方图
结果分析:
由图 1.8、图 2.0、图 2.2 大约可以看出图 1.8 维纳滤波 3 处理的效果较好。
通过图 1.9、2.1、2.3 与图 1.2 的对比可以看出,确实是图 1.8 维纳滤波 3 处理的
效果最好。
1.2.4 均值滤波与维纳滤波混合使用
I=imread('lena_ny.jpg');
a=double(I);
b=fft2(a);
b1=fftshift(b);
b2=abs(b1)/100000;
%均值滤波
6
A1=filter2(fspecial('average',3),I)/255; %模板尺寸为 3
%二维自适应维纳滤波
B1=wiener2(I,[3 3]);%进行维纳滤波
%混合使用均值滤波与维纳滤波
D1=wiener2(A1,[3 3]); %进行均值滤波后维纳滤波
D2=filter2(fspecial('average',3),B1)/255;%进行维纳滤波后均值滤波
figure(1);imhist(D1);title('均值滤波后维纳滤波直方图');
figure(2); imshow(D1);title('均值滤波后维纳滤波');
figure(3);imhist(D2);title('维纳滤波后均值滤波直方图');
figure(4);imshow(D2);title('维纳滤波后均值滤波');
图 2.4 维纳滤波后均值滤波图
图 2.5 均值滤波后维纳滤波
图 2.6 维纳滤波后均值滤波直方图
图 2.7 均值滤波后维纳滤波直方图
结果分析:
7
由图 2.4、图 2.5 对比,很难区分降噪效果,同理,图 2.6、图 2.7 也对比不
出,但是比单纯的用一种效果要好。
1.2.5 中值滤波
I = imread('lena_ny.jpg'); %读取文件
% figure(1);imshow(I),('原图象');
f2=medfilt2(I,[3,3]);%中值滤波后的图像
ff=adp_median(I,19); %自适应中值滤波后的图像
figure(3);imhist(f2);title('中值滤波直方图');
figure(4);imshow(f2);title('中值滤波');
figure(5);imhist(ff);title('自适应中值滤波直方图');
figure(6);imshow(ff); title('自适应中值滤波');
%自适应中值滤波
function II=adp_median(I,Smax)
if (Smax<=1)||(Smax/2==round(Smax/2))||(Smax~=round(Smax))%Smax 约束,噪
声密度越大,Smax 应当设置越高
error('Smax must be an odd integer >1');
end
%初始化
II=I;
II(:)=0;
alreadyProcessed=false(size(I));
%迭代
for k=3:2:Smax
zmin=ordfilt2(I,1,ones(k,k),'symmetric');
zmax=ordfilt2(I,k*k,ones(k,k),'symmetric');
zmed=medfilt2(I,[k k],'symmetric');
processUsingLevelB=(zmed>zmin)&(zmax>zmed)&(~alreadyProcessed);% 需 要 转
到 B 步骤的像素
zB=(I>zmin)&(zmax>I);
8