求一副灰度图像熵的matlab算法.

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:38:39
函数和程序,谢谢!
function h=entropy(x,n)
%ENTROPY
error (nargchk(1,2,nargin))
if nargin<2
n=256
end
x=double(x)
xh=hist(x(:),n)
xh=xh/sum(xh(:))
i=find(xh)
h=-sum(xh(i).*log2(xh(i)))

以下命令生成熵的一阶估计:
f=imread('a.bmp')
F=double(f)
p=hist(F(:),8)
p=p/sum(p)
h=entropy(F)

运行结果为
h =

7.0380

请高手帮忙了,谁能逐句给我解释下代码???

you may use "entropy" function directly.
type "help entropy" to get more info.

信息熵定义查一下就是了,注意应该有多种公式,稍微注意下代码实现就能确定实现的是哪种了!