%下面是网上找到的一个实现直方图均衡化的程序,给大家一个比较的机会(底下有它的网址):
%function histgramequalization(A)
%对一幅图像进行直方图均衡化
A=imread('rice.jpg');
[m,n]=size(A);
B=zeros(size(A));
l=m*n;
r=zeros(1,256);
y=zeros(1,256);
A=double(A);
for i=1:m
for j=1:n
r(A(i,j)+1)=r(A(i,j)+1)+1;
end
end
r=r./l;%得到原图像各灰度级所占的比例
for k=1:256
for j=1:k
y(k)=y(k)+r(j);
end
end %直方图累加
for k=1:256
y(k)=floor(255*y(k)+0.5); %确定映射关系
end
for i=1:m
for j=1:n
B(i,j)=y(A(i,j)+1);
end
end
A=uint8(A);
B=uint8(B);
subplot(2,2,1)
imshow(A)
title('原图像')
subplot(2,2,2)
imhist(A)
title('原图像的直方图')
subplot(2,2,3)
imshow(B)
title('经过均衡处理的图像')
subplot(2,2,4)
imhist(B)
title('经过均衡处理后该图像的直方图')
%至于所参与运算的图像,你们自己随便找一幅
%http://bbs.matwav.com/post/view?bid=6&id=189032&sty=2&tpg=1&ppg=1&age=0