数字图像处理实验报告matlab.docx

上传人:b****3 文档编号:2888461 上传时间:2022-11-16 格式:DOCX 页数:11 大小:576.68KB
下载 相关 举报
数字图像处理实验报告matlab.docx_第1页
第1页 / 共11页
数字图像处理实验报告matlab.docx_第2页
第2页 / 共11页
数字图像处理实验报告matlab.docx_第3页
第3页 / 共11页
数字图像处理实验报告matlab.docx_第4页
第4页 / 共11页
数字图像处理实验报告matlab.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数字图像处理实验报告matlab.docx

《数字图像处理实验报告matlab.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验报告matlab.docx(11页珍藏版)》请在冰豆网上搜索。

数字图像处理实验报告matlab.docx

数字图像处理实验报告matlab

学院:

信息工程学院的吧

班级:

姓名:

学号:

40……

2010年10月

实验一直方图均衡化

实验目的:

1.熟悉图像数据在计算机中的存储方式;

2.掌握图像直方图均衡化这一基本处理过程。

实验条件:

PC微机一台和MATLAB软件。

实验内容:

读入图像数据到内存中,并显示读入的图像;

实现直方图均衡化处理,显示处理前后图像的直方图。

显示并保存处理结果。

实验步骤:

1.打开Matlab编程环境;

2.获取实验用图像:

使用imread函数将图像读入Matlab;并用inshow函数显示读入的图像。

3.获取输入图像的直方图:

使用inhist函数处理图像。

4.均衡化处理:

使用histeq函数处理图像即可。

5.获取均衡化后的直方图并显示图像:

使用imhist和imshow函数。

实验程序及结果:

实验一

clear

subplot(6,2,1);

i=imread('test1-1.jpg');imhist(i);

title('test1-1hist');

subplot(6,2,2);

i=im2double(i);

imshow(i);title('test1-1原图像');

subplot(6,2,3);

s=histeq(i);

imhist(s);

title('test1-1balancedhist');

subplot(6,2,4);

imshow(s);title('test1-1均衡化后的图像');

subplot(6,2,5);

i=imread('test1-2.jpg');

imhist(i);

title('test1-2hist');

subplot(6,2,6);

i=im2double(i);

imshow(i);

title('test1-2原图像');

subplot(6,2,7);

s=histeq(i);

imhist(s);

title('test1-2balancedhist');

subplot(6,2,8);

imshow(s);

title('test1-2均衡化后的图像);

i=imread('test1-3.jpg');

imhist(i);title('test1-3hist');

subplot(6,2,10);

i=im2double(i);

imshow(i);

title('test1-3原图像');

subplot(6,2,11);

s=histeq(i);

imhist(s);

title('test1-3balancedhist');

subplot(6,2,12);

imshow(s);

title('test1-3均衡化后的图像');

实验思考

数字图像直方图均衡化之后直方图为什么不是绝对平坦的?

直方图均衡化是将一已知灰度概率密度分布的图像,经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像,对图像进行均衡化处理时,只是将直方图上灰度分布较密的部分被拉伸;灰度分布稀疏的部分被压缩,从而使一幅图像的对比度在总体上得到很大的增强。

因此均衡化之后直方图不是绝对平坦的。

对图像中每个像素点所在的邻域范围求出灰度转换函数,然后仅仅应用在该中心点处。

先在定义的邻域内计算灰度直方图,然后利用这一直方图来获得关于直方图均衡化的灰度变换函数。

利用这一变换函数,就可以实现该邻域内中心像素点的增强。

接下来将邻域的中心移到相邻的像素并重复以上过程。

如何实现图像局部直方图均衡化?

对图像中每个像素点所在的邻域范围求出灰度转换函数,然后仅仅应用在该中心点处。

先在定义的邻域内计算灰度直方图,然后利用这一直方图来获得关于直方图均衡化的灰度变换函数。

利用这一变换函数,就可以实现该邻域内中心像素点的增强。

接下来将邻域的中心移到相邻的像素并重复以上过程。

实验二频域平滑滤波

实验目的:

1.熟悉图像数据在频率域的表示;

2.掌握频域图像增强的基本步骤。

实验条件:

PC微机一台和MATLAB软件。

实验内容:

1.综合利用所学的数字图像基本存储结构、图像变换、图像增强等知识实现频率域图像增强;

2.在频率域进行用半径值分别为5,15,30,80和230的理想低通滤波器对图像进行平滑,并观察滤波效果。

实验步骤:

1.打开Matlab编程环境;

2.利用’imread’函数读入图像数据;

3.利用’imshow’显示所读入的图像数据;

4.将图像数据由’uint8’格式转换为’double’格式,并将各点数据乘以(-1)x+y以便FFT变换后的结果中低频数据处于图像中央;

5.用’fft2’函数对图像数据进行二维FFT变换,得到频率域图像数据;

6.计算频率域图像的幅值并进行对数变换,利用’imshow’显示频率域图像;

7.在频率图像上去除滤波半径以外的数据(置0);

8.计算频率域图像的幅值并进行对数变换,利用’imshow’显示处理过的频域图像数据;

9.用’ifft2’函数对图像数据进行二维FFT逆变换,并用’real’函数取其实部,得到处理过的空间域图像数据;

10.将图像数据各点数据乘以(-1)x+y;

11.利用’imshow’显示处理结果图像数据;12.利用’imwrite’函数保存图像处理结果数据。

实验程序及结果:

Functionidlvbo(r)

I=imread('test2.jpg');

subplot(1,2,1),imshow(I);

title('test2原图像');

f=double(I);

g=fft2(f);

g=fftshift(g);

[M,N]=size(g);

m=fix(M/2);

n=fix(N/2);

clc

fori=1:

M

forj=1:

N

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

ifd>r

h=0;

elseh=1;

end

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

J1=ifft2(result);

J2=uint8(real(J1));

subplot(1,2,2),imshow(J2);

title('理想低通滤波处理后的图象');

imwrite(J2,'J2.jpg')数字图像处理

r=5的图形

r=15的图形

r=30的图形

r=80的图形

r=160的图形

r=230的图形

实验思考

1.在FFT变换前后,为什么要将各点数乘以-1的(x+y)次方?

不乘能否实现低滤波?

在FFT变换前后,将各点数乘以-1的(x+y)次方,是为了将图像处理后它的中低频数据处于图像中央位置。

2.与空间域图像增强相比,频率域图像处理有什么优点?

频率域图像处理是把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强;空间域图像增强的方法是直接对图像中的像素进行处理的过程。

实验三图像去噪

实验目的:

1.熟悉图像高斯噪声的特点;

2.掌握利用中值滤波器去除图像噪声的方法。

实验条件:

PC微机一台和MATLAB软件。

实验内容:

编写代码实现中值滤波算法,并观察增强效果。

实验步骤:

1.打开Matlab编程环境;

2.利用’imread’函数读入包含噪声的原始图像数据;

3.利用’imshow’显示所读入的图像数据;

4.编写代码实现中值滤波和均值滤波算法,对原始噪声图像进行滤波处理;

5.利用’imshow’显示处理结果图像数据;

6.利用’imwrite’函数保存图像处理结果数据。

实验程序及结果:

I=imread('test3.jpg');

subplot(1,3,1);

imshow(I);

title('test3原图');

K=fspecial('average',5);

K1=filter2(K,I)/255;

subplot(1,3,2);

imshow(K1);

title('均值滤波所得图像');

imwrite(K1,'K1.jpg');

L=medfilt2(I,[55]);

subplot(1,3,3);

imshow(L);

title('中值滤波所得图像');

imwrite(L,'L.jpg');

实验思考

1.与均值滤波相比,中值滤波算法的处理速度是快还是慢?

中值滤波快,因为均值滤波就是对一个像素,取其周围的像素均值作为当前像素的值,而中值滤波就是对一个像素,取其周围的像素中间值作为当前像素的值,不用求均值,因此中值滤波算法快。

2.如何实现中点滤波算法,它的速度比中值滤波算法快还是慢?

先得到图像的频域空间,然后对得到的二维空间数据进行比较得到最大值和最小值,对这两个值求平均值即可得到!

它比中值滤波算法要慢。

实验总结:

1、图像直方图均衡化首先要统计原始图像的直方图,求出Pr(rk);然后用累积分布函数作变换

,求变换后的新灰度;用新灰度代替旧灰度,求出Ps(rk)。

但均衡后的直方图并不是严格的矩形。

2、频域图像增强的基本步骤:

把图像信号经过一定的变换使其从空间域变换到频率域,从频率的角度来分析图像信号的特性。

再对图像频率域按需要进行处理,将处理的结果进行反变换到空间域,达到图像增强的目的。

3、用中值滤波器去噪:

设定像素点的领域,对该领域的滑动窗口内的所有灰度值排序,用其灰度的中值作为被处理像素点的灰度值。

4、处理图像的常用函数有:

imread,imshow,imhist,histeq,medfilt2,hist,imwrite等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1