用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;
    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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章