您的当前位置:首页数字图像处理 实验2.

数字图像处理 实验2.

来源:小侦探旅游网


实验名称

数字图像的空间域滤波

实验类实验学

验证性 型 时

4

1、 理解图像空间域滤波的原理;

实验目的

2、 掌握图像均值滤波、中值滤波的

原理与实现方法;

3、 掌握上述方法的改进方法。

知识点和涉及

图像的空间域滤波、图像的平滑、

的相关图像的锐化。 知识

基本要求:

1、 自己编程实现图像的均值滤波; 2、 自己编程实现图像的中值滤波;

实验内容

3、 利用matlab图像处理工具箱中 的函数实现图像的上述处理; 扩展要求:

4、 实现一种图像加权中值滤波或加权均值滤波;

%均值滤波: clear; close all;

I2=imread('d:\\lenna.jpg';I1= rgb2gray(I2; I=double(I1 [p,q]=size(I;A=I; n=3;a(1:n,1:n=1; for i=1:p-n+1 for j=1:q-n+1 c=I(i:i+n-1,j:j+n-1.*a; s=sum(sum(c;

A(i+(n-1/2,j+(n-1/2=s/(n*n; end end; b=uint8(A;

imshow(I1;figure,imshow(b; %中值滤波 clear; close all;

I2=imread('d:\\lenna.jpg';;I1= rgb2gray(I2;I=double(I1 [p,q]=size(I;A=I; n=3;a(1:n,1:n=1; for i=1:p-n+1 for j=1:q-n+1 c=I(i:i+n-1,j:j+n-1.*a; e=c(1,:; %c矩阵的第一行 for u=2:n

e=[e,c(u,:]; %转换为行矩阵 end

mm=median(e; %中值 A(i+(n-1/2,j+(n-1/2=mm; end end; b=uint8(A;

figure,imshow(I1;figure,imshow(b; %调用函数进行滤波 A1=fspecial('average',n; x11=filter2(A1,I; xa=uint8(x11; y11= medfilt2(I,[n n]; ya=uint8(y11;

figure,imshow(xa;figure,imshow(ya;;

改变模板的值,就可以实现加权滤波,将n*n矩阵从全1改为[1 2 1;3 2 3;1 2 1] %中值滤波 clear; close all;

I2=imread('d:\\lenna.jpg';;I1= rgb2gray(I2;I=double(I1 [p,q]=size(I;A=I;

n=3;a(1:n,1:n=[1 2 1;2 3 2;1 2 1]; %通过模板加强某些点的强度 for i=1:p-n+1 for j=1:q-n+1 c=I(i:i+n-1,j:j+n-1.*a; e=c(1,:; %c矩阵的第一行 for u=2:n

e=[e,c(u,:]; %转换为行矩阵 end

mm=median(e; %中值 A(i+(n-1/2,j+(n-1/2=mm; end end; b=uint8(A;

figure,imshow(I1;figure,imshow(b; 1,均值滤波前后:

2.中值滤波前后

3.调用函数进行滤波 A,均值滤波后

B,中值滤波后

加权滤波前后:

因篇幅问题不能全部显示,请点此查看更多更全内容