Renyi熵是對通常的香農熵的擴展,算是q階廣義熵。公式如下:
其中P和香農熵公式中的P一樣,是概率。當q=1時公式退化為香農熵公式。(如何證明?看wiki吧)
有用此公式尋找圖像最佳二值化閾值的。
首先定義前景區域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)