直⽅图、直⽅图的局部平均化与熵
图像的亮度直⽅图体现出了图像的灰度值(亮度值)出现的频率,⼀般⽤⼀个长度为K的⼀维数组表⽰,K为灰阶个数,默认为256。直⽅图可直接由以下代码获得
[h,p]=imhist(I);
返回的h和p都是⼀个1*K(256)⼤⼩的矩阵,其中h的内容是256个元素的次数,p的内容为每个元素对应的灰度值。
h或⽤⼿动统计⽅法获得:
h=zeros(256,1);
for i=1:m
for j=1:n
gray=I(i,j);
h(gray+1,1)=h(gray+1,1)+1;
end
end
对p中所有的频数除以像素点的总数,得到频率:
h=h/sum(h);
⼀般这样的直⽅图并不连续,并可能存在多个极⼤极⼩值,可以通过以下公式进⾏局部平滑:
K为常量,代表平滑时区域的⼤⼩,该算法平均了⼀个像素(灰度)以及周围2*K个邻域点的像素的频率作为这个像素值的平均频率。得出的矩阵可通过bar(X)绘制,并通过axes([xmin,xmax,ymin,ymax])调整x轴(像素值范围)y轴(频率)的范围。
K=5;
hf=zeros(256,1);
for i=1:size(h,1)
for j=-K:K
if i+j>=1 && i+j<=255
hf(i,1)=hf(i,1)+h(i+j,1)/(2*K+1);
end
end
end
bar(h);
局部直方图均衡化axis([0,255,0,max(h)*1.1]);
figure;
bar(hf);
axis([0,255,0,max(hf)*1.1]);
左图:原始灰度直⽅图 右图:平滑后直⽅图
上图为直接执⾏imhist(I)结果。直⽅图均衡化(histeq)不述。
信息论中的熵(Entropy)由⾹农(Shannon)提出,可以⽤来表⽰图像中的信息量,熵的直接理解与关联于给定概率分布的事件的不确定性⼤⼩有关,可以反映概率“失调”的⼤⼩。对于图像I的灰度值概率矩阵p,熵定义为:
其中,-log2p(i)称为p(i)出现概率的惊异(surprisal),图像I 的熵E(I)是灰度概率出现惊异的期望值。
在之后的应⽤⾥,熵⼀般⽤来评估图像或其他离散变量中的信息的冗余程度。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论