前往顾页

Matlab邻域均匀法 和中值滤波法 尝试教程

时候:2012-06-22 14:26来源:知行网www.zhixing123.cn 编辑:麦田守望者

一.尝试内容:

5´5地区的邻域均匀法 5´5中值滤波法

二.尝试目标:

体味各种光滑措置技术的特性和用处,把握光滑技术的仿真与实现体例。学会用Matlab中的以下函数对输入图象进行上述2类运算。感受不合光滑措置体例对终究图象结果的影响。

nlfiltermean2std2fspecialfilter2medfilt2imnoise

三.尝试步调:

1.细心浏览Matlab帮忙文件中有关以上函数的利用申明,能充分了解其利用体例并能应用它们完成尝试内容。

2.test3_1.jpg图象文件读入Matlab,用nlfilter对其进行5´5邻域均匀和计较邻域标准差。显现邻域均匀措置后的成果,和邻域标准差图象。

3.test3_1.jpg图象中增加均值为0,方差为0.02的高斯噪声,对噪声污染后的图象用nlfilter进行5´5邻域均匀。显现措置后的成果。(利用imnoise号令)

4.test3_2.jpg图象文件读入Matlab,用fspecial函数天生一5´5邻域均匀窗函数,再用filter2函数求邻域均匀,试比较与用nlfilter 函数求邻域均匀的速率。

5.medfilt2函数对test3_2.jpg图象进行中值滤波。显现措置成果。

6.编写中值滤波法度(函数)。对test3_2.jpg图象进行中值滤波。显现措置成果。

四.尝试陈述请求:

imshow函数天生各种图象,提交原图象和经各种体例措置后的图象。给出中值滤波法度。对图象光滑成果进行阐发。

剖析:

%2

figure;

a=imread('e:\test3_1.jpg');

a=im2double(a);

f1 = inline('max(x(:))');

f2 = inline('std2(x)*ones(size(x))');

A1 = nlfilter(a,[5 5],f1);

subplot(1,3,1);

imshow(a);title('input image');

subplot(1,3,2);

imshow(A1);title(' 5*5范畴均匀后图象');

A4 = blkproc(a,[ 5 5 ],f2);

subplot(1,3,3);imview(A4,[]);% 范畴标准差图象

%3

figure;

A2 = imnoise(a,'gaussian',0,0.02);

subplot(1,3,1);

imshow(a);title('input image');

subplot(1,3,2);

imshow(A2);title('加噪声后图象');

A3 = nlfilter(A1,[5 5],f);

subplot(1,3,3);

imshow(A3);title('对加噪声图象范畴均匀后图象');

%4

figure;

a=imread('e:\test3_2.jpg');

a=im2double(a);

f = inline('max(x(:))');

subplot(1,2,1);

imshow(a);title('input image');

h=fspecial('average',5);

K1=filter2(h,a);

subplot(1,2,2);

imshow(K1);title('filter2函数求邻域均匀');

%5

figure;

K3=medfilt2(a,[5,5]);

subplot(1,2,1);

imshow(a);title('input image');

subplot(1,2,2);

imshow(K3);title('进行5*5模板中值滤波');

%6

figure;

subplot(1,2,1);

imshow(a);title('input image');

K4=a;

xsize=size(a);

for k=2:(xsize(1)-1)

for j=2:(xsize(2)-1)

t=a(k-1:k+1,j-1:j+1);

k4(k,j)=median(t(1:9));

end;

end;

subplot(1,2,2);

imshow(k4); title('中值滤波法度措置后的图');

------分开线----------------------------
标签(Tag):MATLAB Matlab技能 Matlab实例教程 matlab源代码 matlab根本教程
------分开线----------------------------
保举内容
猜你感兴趣