当前位置:首页 > 数字图像处理实验报告(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均衡化后的图像');
实验思考
数字图像直方图均衡化之后直方图为什么不是绝对平坦的? 直方图均衡化是将一已知灰度概率密度分布的图像,经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像,对图像进行均衡化处理时,只是将直方图上灰度分布较密的部分被拉伸;灰度分布稀疏的部分被压缩,从而使一幅图像的对比度在总体上得到很大的增强。因此均衡化之后直方图不是绝对平坦的。对图像中每个像素点所在的邻域范围求出灰度转换函数,然后仅仅应用在该中心点处。先在定义的邻域内计算灰度直方图,然后利用这一直方图来获得关于直方图均衡化的灰度变换函数。利用这一变换函数,就可以实现该邻域内中心像素点的增强。接下来将邻域的中心移到相邻的像素并重复以上过程。
如何实现图像局部直方图均衡化?
对图像中每个像素点所在的邻域范围求出灰度转换函数,然后仅仅应用在该中心点处。先在定义的邻域内计算灰度直方图,然后利用这一直方图来获得关于直方图均衡化的灰度变换函数。利用这一变换函数,就可以实现该邻域内中心像素点的增强。接下来将邻域的中心移到相邻的像素并重复以上过程。
实验二 频域平滑滤波
共分享92篇相关文档