数字信号处理matlab实验报告 - 图文

发布时间 : 星期五 文章数字信号处理matlab实验报告 - 图文更新完毕开始阅读

4

_计算机__学院 网络工程 专业_3___班 学号 3116005027 姓名 杨铠光 教师评定_________________ 实验题目___________数字信号处理实验_____________ 实验四、二维信号低通滤波 一、实验目的

1、熟悉二维低通滤波器的设计过程。

2、能够根据噪声表现情况选择不同的滤波器器进行滤波处理。 3、熟悉Matlab图像处理工具的一般操作。

二、实验环境

Matlab图像处理工具箱。

三、实验内容

1、设计三个不同权值的3*3低通滤波器对SaltPapperNoise.tif与GaussianNoise.tif进行处理,并简述实验结果不同的原因。(自己编写卷积过程的加10分)

图1 SaltPapperNoise.tif 图2 GaussianNoise.tif

5

1) 均值滤波器(average_filter.m) %3*3 均值滤波器实现函数

function d = average_filter( picture ,a)%a为不同权值矩阵 [hight, width]=size(picture); %输入图像是hight x width x1=double(picture); x2=x1;

a_sum=sum(sum(a))

for i=1:hight-2 %最后一列不用计算

for j=1:width-2 %最后一行不用计算

c=x1(i:i+2,j:j+2).*a;%取出x1中从(i,j)开始的n行n列元素与模板相乘 s=sum(sum(c)); %求c矩阵中各元素之和

x2(i+1,j+1)=s/a_sum; %将与模板运算后的各元素的均值赋给模板中心位置的元素 end end

%为被赋值的元素取原值 d=uint8(x2); end

2) 中值滤波器(mid_filter.m) %3*3 中值滤波器函数 function d = mid_filter(x)

[height, width]=size(x); %输入图像是hight x width x1=double(x); x2=x1;

for i=1:height-2%最后一列不用计算 for j=1:width-2%最后一行不用计算

c=x1(i:i+2,j:j+2); %取出x1中从(i,j)开始的3行3列元素,即模板(3×3的) e=[c(1,:),c(2,:),c(3,:)] ; %将c矩阵变为一个行矩阵 mm=median(e) ; %mm是中值

x2(i+1,j+1)=mm; %将模板各元素的中值赋给模板中心位置的元素 end end

%为被赋值的元素取原值 d=uint8(x2);

6

3) 主函数(picture.m)

J=imread(' C:\\Users\\yangk\\Desktop\\666\\SaltPapperNoise.tif');%读取图片 imshow(J)%显示原图 title('原图')

a(1:3,1:3)=1; %a即3×3模板,元素全是1 k=average_filter(J,a);

figure,imshow(k),title('均值滤波器-1/9') a(1:3,1:3)=[1 1 1;1 2 1;1 1 1];

figure,imshow(k),title('均值滤波器-1/16') a(1:3,1:3)=[1 1 1;1 60 1;1 1 1]; k=average_filter(J,a);

figure,imshow(k),title('均值滤波器-1/68') a(1:3,1:3)=[0 1/4 0;1/4 1 1/4;0 1/4 0]; 4) 结果展示 椒盐噪声

高斯噪声

5) 实验结果不同的原因:

a. 同一图片间:中心点的权重影响滤波效果,中心点权重越大,通过周围像素点来减弱椒盐噪声和图像模糊化的效果就越差

b. 不同图片间:均值滤波器通过周围像素点取加权均值来消去噪声,这对椒盐噪声有效,因为椒盐噪声出现位置是随机的,而高斯噪声出现在位置是一定的(每一点上),即周围

7

联系合同范文客服:xxxxx#qq.com(#替换为@)