当前位置:文档之家› 实验三图像灰度修正技术和直方图均衡化

实验三图像灰度修正技术和直方图均衡化

实验三 图像灰度修正技术和直方图均衡化

、实验目的
1、掌握图像灰度修正技术的原理和实现方法;
2、掌握图像直方图均衡化处理的方法。


、实验原理及内容

图像增强的目的是,对一幅给定的图像,突出一些有用的信息,抑制一些无用的信息,
提高图像的使用价值。
常用的图像增强方法有:灰度修正法、平滑、几何校正、图像锐化、频域增强、维纳滤
波、卡尔曼滤波等。 Matlab图像处理工具箱中的函数imadjust实现上述对比度调整算法。
函数实现:
J=imadjust(I,[low high],[bottom top],gamma) Matlab函数实现:
(1)求图像的灰度直方图
Imhist ( I,n )
(2)求灰度的等值图
Imcontour ( I,n )
(3)直方图均衡化
J=histeq (I, hgram )
实验内容:
1、显示图像“bacteria.tif”的灰度直方图和灰度等值图;
2、对给定图像“pout.tif”进行灰度变换、增强对比度,显示增强前、后的图像以及它
们的灰度直方图;
3、对给定图像“pout.tif”进行直方图均衡处理,显示处理前、后的图像以及它们的灰
度直方图;

三、实验报告要求
1、给出求图像“bacteria.tif”的灰度直方图和灰度等值图的Matlab程序,并显示图像
的灰度直方图和灰度等值图的;
2、给出对图像“pout.tif”进行灰度变换、增强对比度的Matlab程序,显示增强前、后
的图像以及它们的灰度直方图;对结果进行分析。
3、给出对图像“pout.tif”进行直方图均衡处理的Matlab程序,显示处理前、后的图像
以及它们的灰度直方图;对结果进行分析。

四、实验程序及框图
1.实验1
实验框图

实验程序
clear all %清空工作空间
I=imread('bacteria.tif'); %读入图像
subplot(2,2,1);imshow(I);
xlabel('原图') %显示原图
subplot(1,2,2);imhist(I,128);
xlabel('灰度直方图') %显示灰度直方图
subplot(2,2,3);imcontour(I,8);
xlabel('灰度等值图') %显示灰度等值图

读入图像
开始
结束
显示所需图像
2.实验2
实验框图

开始
读入图像
对比度增强
显示所需图像
结束
实验程序
clear all; %清空工作空间
I=imread('pout.tif'); %读入图像
J=imadjust(I,[0.3 0.7],[ ]); %增强对比度
subplot(2,2,1);imshow(I);
xlabel('原图像'); %显示原图像
subplot(2,2,2);imhist(I);
xlabel('原图像直方图'); %显示原图像直方图
subplot(2,2,3);imshow(J);
xlabel('对比度增强后图像'); %显示对比度增强图像
subplot('2,2,4');imhist(J);
xlabel('增强图像直方图') %显示增强后图像直方图

3.实验3
实验框图
实验程序
clear all; %清空工作空间
I=imread('pout.tif'); %读入图像
J=histeq(I); %直方图均衡化
subplot(2,2,1),imshow(I);
xlabel('原图') %显示原图
subplot(2,2,2),imhist(I);
xlabel('原图灰度直方图') %显示原图灰度直方图
subplot(2,2,3),imshow(J);
xlabel('处理后图像') %显示处理后图像
subplot(2,2,4),imhist(J)
xlabel('处理后图像灰度直方图') %显示处理后图像直方图

开始
读入图像
直方图均衡化
显示所需图像
结束
五、思考题
1、为什么一般情况下对离散图像进行均衡化并不能产生完全平坦的直方图?
答:因为映射后的图像不能取到所有灰度级,
变换后的直方图会有某些灰度级空

缺,故不能产生完全平坦的直方图。

相关主题