写论文时用到了利用图像信息熵去表达图像信息的相对复杂程度,这里转载一下那篇博客。
原文链接:
https://blog.csdn.net/qq404752007/article/details/51337773
图像处理大型科普—图像信息熵
哪里来的信息熵?
在很多图像处理的过程中,需要判别一个图像的清晰度,和图像分割结果的优劣,于是就引出了信息熵的概念,绝大多数时候,它都被用来作为评价图像的一个量化标准。
某度百科定义如下:
“信息熵这个词是C.E.香农从热力学中借用过来的。热力学中的热熵是表示分子状态混乱程度的物理量。香农用信息熵的概念来描述信源的不确定度。”
“熵被用来衡量一个随机变量出现的期望值。它代表了在被接收之前,信号传输过程中损失的信息量,又被称为信息熵”
计算信息熵的matlab代码:
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
关于对信息熵的理解:
https://www.zhihu.com/question/22178202?sort=created