Renyi熵是对通常的香农熵的扩展,算是q阶广义熵。公式如下:
其中P和香农熵公式中的P一样,是概率。当q=1时公式退化为香农熵公式。(如何证明?)
有用此公式寻找图像最佳二值化阈值的。
首先定义前景区域A,背景区域B。
那么前景与背景区域像素相应的Renyi熵就如下定义:
其中k是当前取的灰度级,P(A)是像素在A区域的概率,P(B)类似。当然,这里说区域,不是指空间区域,是像素灰度级区域。
最后图像Renyi熵求最佳阈值定义如下:
这里得到的K就是分割阈值。
分割效果如下:
原图:
分割后:
在编程时还需要确定阶数q,我取的是2。
matlab代码如下:
clear all;close all;clc;img=imread('lena.jpg');[m n]=size(img);imshow(img)Hist=imhist(img);q=2;H=[];for k=2:256 PA=sum(Hist(1:k-1)); PB=sum(Hist(k:255)); Pa=Hist(1:k-1)/PA; Pb=Hist(k:256)/PB; HA=(1/1-q)*log(sum(Pa.^q)); HB=(1/1-q)*log(sum(Pb.^q)); H=[H HA+HB]; end[junk level]=max(H);imgn=im2bw(mat2gray(img),level/256);figure;imshow(imgn)