信息熵(entropy)以及图像信息熵的理解

关于信息熵,参考以下博文内容进行了理解:

https://blog.csdn.net/saltriver/article/details/53056816

https://y1ran.blog.csdn.net/article/details/80559531

https://blog.csdn.net/daoqinglin/article/details/6906413

http://www.360doc.com/content/13/1122/11/10724725_331249748.shtml

一、如何理解信息熵

 信息熵简单理解就是一种数学期望:信息熵就是平均而言发生一个事件我们得到的信息量大小。所以数学上,信息熵其实是信息量的期望

利用信息论中信息熵概念,求出任意一个离散信源的熵(平均自信息量)。自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。一条信息的信息量和它的不确定性有着直接的关系。所发出的消息不同,它们所含有的信息量也就不同。任何一个消息的自信息量都代表不了信源所包含的平均自信息量。不能作为整个信源的信息测度,因此定义自信息量的数学期望为信源的平均自信息量:

  

信息熵的意义:信源的信息熵H是从整个信源的统计特性来考虑的。它是从平均意义上来表征信源的总体特性的。对于某特定的信源,其信息熵只有一个。不同的信源因统计特性不同,其熵也不同。信息熵一般用符号H表示,单位是比特。变量的不确定性越大,熵也就越大。

二、图像的信息熵以及求解代码

参考博客

https://blog.csdn.net/marleylee/article/details/78813630

1、一维熵

图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令Pi 表示图像中灰度值为i的像素所占的比例,则定义灰度图像的一元灰度熵为:

 其中Pi是某个灰度在该图像中出现的概率,可由灰度直方图获得。

2、二维熵

图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。选择图像的邻域灰度均值作为灰度分布的空间特征量,与图像的像素灰度组成特征二元组,记为( i, j ),其中i 表示像素的灰度值(0 <= i <= 255),j 表示邻域灰度均值(0 <= j <= 255):

                                     

上式能反应某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i, j)为特征二元组(i, j)出现的频数,N 为图像的尺度。

3.二维图像求信息熵的代码

 

function [res] = ImgEntropy(I)
%求图像熵值
%传入一张彩色图片的矩阵
%输出图片的图像熵值

I_gray = rgb2gray(I);
[ROW,COL] = size(I_gray);


%%
%新建一个size =256的矩阵,用于统计256个灰度值的出现次数
temp = zeros(256);
for i= 1:ROW

for j = 1:COL
%统计当前灰度出现的次数
temp(I_gray(i,j)+1)= temp(I_gray(i,j)+1)+1;

end
end

%%

res = 0.0 ; 
for  i = 1:256
%计算当前灰度值出现的概率
temp(i) = temp(i)/(ROW*COL);

%如果当前灰度值出现的次数不为0
if temp(i)~=0.0

res = res - temp(i) * (log(temp(i)) / log(2.0));
end
end
disp(res);
end


 

 

你可能感兴趣的:(MATLAB,图像处理)