均衡化原理
若已知某灰度图像,对其进行直方图均衡化
L为图像中灰度级的数量,rk(k=0,1,2…,L-1)为灰度级,pr(rk)为该图像中灰度级rk出现的概率,均衡化变换的离散形式为:
将上式所有值四舍五入为最接近的整数,rk被映射为sk并将其列出,便可得到均衡化后的直方图。
均衡化
以如下灰度图数据均衡化为例
均衡化结果
代码
%Write by 长安 Rjex
clc ,clear all
A = [0.02 0.05 0.09 0.12 0.14 0.2 0.22 0.16];
C=zeros(1,size(A,2));
for i = 1:size(A,2)
if i == 1
B(i) = A (i)*(size(A,2)-1);
else
B(i) = B(i-1) + A(i)*(size(A,2)-1);
end
end
for i = 1:size(A,2)
if rem(B(i),1)<0.5
B(i)=fix(B(i));
else
B(i)=fix(B(i))+1;
end
end
for i = 1:size(A,2)
C(B(i)+1)=C(B(i)+1)+A(i);
end
j=1:size(A,2);
subplot(1,2,1),stem(j-1,A(j),'fill','black'),title('原始直方图'),xlabel('r_{k}'),ylabel('p_{r}(r_{k})');
subplot(1,2,2),stem(j-1,C(j),'fill','black'),title('均衡后的直方图'),xlabel('s_{k}'),ylabel('p_{s}(s_{k})');