您的位置:首页 > 其它

图像的熵、联合熵、互信息

2014-12-05 08:50 232 查看
图像的熵和两幅图像的联和熵的定义如下:



  其中,AB联合概率分布和关于A和关于B的边缘概率分布都可以由联合直方图归一化获得。



Matlab实现代码如下:

(1)图像的熵

function shang = ssshang(X)
[m,n,t]=size(X); I3 = double(X)+1;
s(256) = 0;
for i = 1:m
for j = 1:n
va = I3(i,j);
s(va) = s(va)+1;
end
end
p = s./(m*n);
en = 0.;
for i = 1:256
if p(i)~=0
en = en+p(i)*log2(p(i));%概率取对数(以2为底)再乘以概率 最后连加取反
end
end
shang = -en;
(2)两幅图像的联合熵

function abshang = ssshangab(X,Y)
[m,n,t]=size(X);     a = double(X)+1;
b = double(Y)+1;
hab=zeros(256,256);
for i = 1:m
for j = 1:n
index_x=a(i,j);
index_y=b(i,j);
hab(index_x,index_y)=hab(index_x,index_y)+1;
end
end
p = hab./(m*n);
en = 0.;
for i = 1:256
for j = 1:256
if p(i,j)~=0
en = en+p(i,j)*log2(p(i,j));%概率取对数(以2为底)再乘以概率 最后连加取反
end
end
end
abshang = -en;


(3)两幅图像的互信息

MI = HA + HB - HAB

参考文章:http://www.ilovematlab.cn/thread-45649-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息