人人范文网 范文大全

数字图像处理

发布时间:2020-03-02 01:06:36 来源:范文大全 收藏本文 下载本文 手机版

中南大学

数字图像处理实验 实验名称:空间滤波和频域滤波

班级:电子信息0802班

姓名:李哲 学号:0909080609 实验日期:2010年12月22日

目录

一,实验目的„„„„„„„„„„„„„„„„„„„„„„„3 二,给图像添加噪声„„„„„„„„„„„„„„„„„„„„4 三,对被噪声污染的图像进行中值滤波和均值滤波„„„„„„„5 四,对图像进行空间域的锐化„„„„„„„„„„„„„„„„6 五,MATLAB以外函数空间滤波和图像锐化„„„„„„„„„„7 六,自带函数傅立叶变换和反变换„„„„„„„„„„„„„„8 七,低通滤波器程序„„„„„„„„„„„„„„„„„„„„9 八,心得体会 „„„„„„„„„„„„„„„„„„„„„„10 九,参考文献 „„„„„„„„„„„„„„„„„„„„„„10

一、实验目的 1,空间滤波:

图像平滑主要目的是减少噪声。噪声有很多种类,不同的噪声有不同的抑制措施。本实验要求用平滑线性滤波和中值滤波2种最典型、最常用的处理算法进行程序设计,学习如何对已被噪声污染的图像进行“净化”。通过平滑处理,对结果图像加以比较,得出自己的实验结论。学习如何用锐化处理技术来加强图像的目标边界和图像细节,对图像进行梯度算子、拉普拉斯算子,使图像的某些特征(如边缘、轮廓等)得以进一步的增强及突出。本实验锐化处理主要在空间域中进行 2,频域滤波:

掌握傅里叶变换的基本性质; 掌握傅里叶正变换和反变换; 通过实验了解二维频谱的分布特点; 掌握怎样利用傅立叶变换进行频域滤波

利用MATLAB程序数字图像的傅立叶变换并且进行频域滤波

二, 给图像添加椒盐噪声或者高斯噪声: 原理:利用MATLAB自带函数添加噪声 程序代码:A=imread(\'onion.png\'); I=rgb2gray(A); imshow(I); J = imnoise(I,\'salt & pepper\',0.05); figure,imshow(J),title(\'椒盐噪声\');%添加椒盐噪声 K = imnoise(I,\'gauian\',0,0.03);

figure,imshow(K),title(\'高斯噪声\');%添加高斯噪声

三, 对被噪声污染的图像进行中值滤波和均值滤波: 原理:自带函数进行中值滤波和均值滤波 源程序:A=imread(\'onion.png\'); I=rgb2gray(A); J = imnoise(I,\'salt & pepper\',0.05); k2=medfilt2(J,[5 5]); k3=medfilt2(J,[7 7]); imshow(J),title(\'原图\'); figure,imshow(k2),title(\'中值滤波5*5模板\'); figure,imshow(k3),title(\'中值滤波7*7模板\');

四, 对图像进行空间域的锐化: 原理:自带函数进行空间锐化。 源程序:I=imread(\'coins.png\'); subplot(121),imshow(I),title(\'原图像\'); H=fspecial(\'sobel\'); I2=filter2(H ,I); subplot(122),imshow(I2),title(\'sobel算子锐化图像\');

五, MATLAB以外函数空间滤波和图像锐化:

源程序:I = imread(\'eight.tif\'); J = imnoise(I,\'salt & pepper\',0.02); K = medfilt2(J); imshow(J);title(\'噪声干扰图像\') figure, imshow(K);title(\'medfilt2滤波图像\') X=J;a=2;b=2; k=floor(a*b/2)+1; [M,N]=size(X); uint8 Y=zeros(M,N); funBox=zeros(a,b); temp=zeros(a*b);

for i=1:M-a

for j=1:N-b

funBox=X(i:i+a,j:j+b);

temp=funBox(:);

tempSort=sort(temp);

Y(i,j)=tempSort(k);

end; end; figure, imshow(Y);title(\'滤波图像\')

六,利用Matlab的图像处理工具箱中提供的函数实现图像的傅立叶变换和反变换: 源程序:

A=imread(\'onion.png\'); f=rgb2gray(A); subplot(131),imshow(f),title(\'原图\'); F=fft2(f);% 快速傅立叶变换

subplot(132),imshow(F),title(\'傅里叶变换\') Fabs=abs(F);% 求幅频绝对值 Fc=fftshift(Fabs);% 中心移位 SFc=log(1+Fc);% 对数变换

iFc1=ifftshift(Fc);% 中心移位的逆变换,绝对值 iF2=ifft2(iFc1);% 快速傅立叶变换的逆变换

subplot(133),imshow(iF2),title(\'快速傅立叶变换的逆变换\')

七,低通滤波器程序:

I=imread(\'testpat1.png\'); subplot(221),imshow(I);title(\'原始图像\') J1=imnoise(I,\'gauian\',0.02);% 叠加高斯白噪声

subplot(222),imshow(J1);title(\'添加高斯白噪声的图像\') f=double(J1);

% 数据类型转换 g=fft2(f);

% 傅立叶变换 g=fftshift(g);

[M,N]=size(g); nn=2;

% 二阶巴特沃斯(Butterworth)低通滤波器 d0=50;

% 设置截止频率 m=fix(M/2); n=fix(N/2); for i=1:M for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数

result(i,j)=h*g(i,j); end end result=ifftshift(result); J2=ifft2(result); J3=uint8(real(J2)); subplot(223),imshow(J3); title(\'低通滤波后图像\')

心得体会

1, 进一步熟悉了Matlab软件、编程以及图像处理工具箱 2, 学会利用自带函数对图像做简单的处理,例如:均值化等。。 3, 熟练了一些基本函数的运用,例如fspecial,imfilter等。 4,

加深了对MATLAB编程的理解。

5,

对于试验中的出现的一些问题,懂得怎样去处理。 6,

通过实际操作,增强了自己的动手能力,把理论用于实践。

参考文献:数字图像处理第二版

MATLAB教程

《数字图像处理》

数字图像处理课程设计

数字图像处理课程设计

数字图像处理心得体会

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告

数字图像处理教学大纲

数字图像处理实验报告

数字图像处理实验报告

数字图像处理
《数字图像处理.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档