clear;
clc;
PicOri=imread('arctic_hare.jpg');
if isgray(PicOri)==0 %判断一幅图像是否为灰度图像
PicGray=rgb2gray(PicOri);
else
PicGray=PicOri;
end
figure(1),imshow(PicGray),title('原灰度图像');
h=imhist(PicGray);
figure(2),plot(h),title('原图像直方图');
[m,n]=size(PicGray);
L=256;
N=m*n;
PicHEt=zeros(m,n);
AMBE=ambecal(h,N,L);
[tmp,Xt]=min(AMBE);
Xt=Xt-1;
[rowl,coll]=find(PicGray<=Xt);
[rowu,colu]=find(PicGray>Xt);
PicHEt=FuncHE(PicGray,PicHEt,rowl,coll,h,0,Xt);
PicHEt=FuncHE(PicGray,PicHEt,rowu,colu,h,Xt+1,L-1);
PicHE=uint8(PicHEt);
h1=imhist(PicHE);
figure(3),imshow(PicHE),title('均衡后的图像');
figure(4),plot(h1),title('均衡后的直方图');