数字图像处理实验二(MatLab编译环境)

实验二   图像灰度直方图统计

 

一、实验目的:

理解并掌握灰度直方图的概念、计算灰度直方图的方法以及如何应用直方图均衡化来增强图像对比度。

二、实验环境:

计算机、Windows XP操作系统,Matlab7.0

三、实验内容:

以灰度图像pout.tif为例,运用Matlab编程实现灰度直方图的统计以及直方图均衡化处理过程:

(1)计算并绘制原始图像的灰度直方图;

(2)根据离散累计分布函数,对原始灰度直方图进行均衡化处理,绘制均衡化后的灰度直方图;

(3)生成均衡化处理后的新图像,显示并保存。

(4)比较原始图像和新图像的对比度。

 

grayimage=imread('pout.tif');
[m,n]=size(grayimage);
gp=zeros(1,256);
for i=1:256
gp(i)=length(find(grayimage==(i-1)))/(m*n);
end
subplot(2,2,1),imshow(grayimage);
subplot(2,2,2),bar(0:255,gp);
//////////////////////////////
S1=zeros(1,256);
S2=zeros(1,256);
temp=0;
for i=1:256
temp=temp+gp(i);
S1(i)=temp;
end
S2=round(S1*255);
newgp=zeros(1,256);
for i=1:256
newgp(i)=sum(gp(find(S2==(i-1))));
end
subplot(2,2,4),bar(0:255,newgp);
//////////////////////////////
newgrayimage=grayimage;
for i=1:256
newgrayimage(find(grayimage==(i-1)))=S2(i);
end
subplot(2,2,3),imshow(newgrayimage);
imwrite(newgrayimage,'newpout.tif');

posted @ 2016-05-23 17:20  茶飘香~  阅读(365)  评论(0编辑  收藏  举报