📄 hist_eq.m
字号:
clear all
image1=imread('high2.jpg');
l=256;
[m,n]=size(image1);
len=m*n;
image2=reshape(image1,len,1);
histogram = hist(image2,[0:l-1]);
cumhist(1)= histogram(1);
for i=2:l
cumhist(i)= cumhist(i-1)+ histogram(i);
end
for i=1:l
t(i)=round(((l-1)/(len))*cumhist(i));
end
newimage=zeros(len,1);
for i=2:l
tx(i-1)=t(i)
end
for i=1:len
if image2(i)~=0
newimage(i)=tx(image2(i));
else
newimage(i)=t(1);
end
end
finalimage=reshape(newimage,m,n);
finalhistogram=hist(newimage,[0:l-1]);
mean1=mean(image1);
mean2=mean(finalimage);
s2= std(finalimage);
%s1=std(image2);
figure(1),subplot(3,1,1),stem([0:l-1],histogram),title('histogram, original')
subplot(3,1,2),stem([0:l-1],t),title('transformation')
subplot(3,1,3),stem([0:l-1],finalhistogram),title('histogram, equalized')
figure(2),subplot(1,2,1),image(image1),colormap('gray'),title('original')
subplot(1,2,2),image(finalimage),colormap('gray'),title('equalized')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -