⽤MATLAB编程实现直⽅图均衡化I=imread('mri.tif');%初始化图像
figure,imshow(I)
title('原图像')
%直⽅图显⽰
[M,N]=size(I);%图像的⼤⼩,M为⽔平像素点个数,N为垂直像素点个数
n=zeros(1,256);%计算各灰度级像素点数
for i=1:M
for j=1:N
n(I(i,j)+1)=n(I(i,j)+1)+1;
matlab直方图end
end
pi=zeros(1,256);%计算各灰度级出现的概率
for i=1:256
p(i)=n(i)/(M*N);
end
s1=zeros(1,256);
for i=1:256
for j=1:i
s1(i)=p(j)+s1(i);%直⽅图均衡化
end
end
plot(s1)