如何用matlab软件计算一幅图像信息的熵以及两幅图像间的联合熵?
题目
如何用matlab软件计算一幅图像信息的熵以及两幅图像间的联合熵?
答案
%计算一副图像的熵
%随机生成图像
A=floor(rand(8,8).*255);
[M,N]=size(A);
temp=zeros(1,256);
%对图像的灰度值在[0,255]上做统计
for m=1:M;
for n=1:N;
if A(m,n)==0;
i=1;
else
i=A(m,n);
end
temp(i)=temp(i)+1;
end
end
temp=temp./(M*N);
%由熵的定义做计算
result=0;
for i=1:length(temp)
if temp(i)==0;
result=result;
else
result=result-temp(i)*log2(temp(i));
end
end
result
%计算联合熵
%随机生成图像
A=floor(rand(8,8).*255);
B=floor(rand(8,8).*255);
[M,N]=size(A);
temp=zeros(256,256);
%对图像的灰度值成对地做统计
for m=1:M;
for n=1:N;
if A(m,n)==0;
i=1;
else
i=A(m,n);
end
if B(m,n)==0;
j=1;
else
j=B(m,n);
end
temp(i,j)=temp(i,j)+1;
end
end
temp=temp./(M*N);
%由熵的定义做计算
result=0;
for i=1:size(temp,1)
for j=1:size(temp,2)
if temp(i,j)==0;
result=result;
else
result=result-temp(i,j)*log2(temp(i,j));
end
end
end
result
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 在平行四边形ABCD中,AB=2BC,E为BA中点,DF垂直BC,垂足为F,证明∠AED=∠EFB
- CH3CH2MgBr与HCHO在乙醚与水的条件下反应 生成什么
- ( )( )之谈【词语填空】
- 列式计算 1.2分之1加上2分之1的和,等于一个数的3分之2,这个数是多少 2.一个数的5分之3比它的2倍少28,
- 填名言名句
- 仓库有一批粮食,运走全部的3分之2少一吨,这时剩下的与原存粮食的比是3:5,仓库原有粮食多少吨?
- 用刻度尺测量一本书的厚度是7.0mm这本书共有200页这本书的每张纸的平均厚度的多少mm这把尺的分度值是多少
- you have tried three times,will you try ---fourth time A.a B.an C.the D./
- 有人在《责任》这首诗里写道:“责任仿佛是一扇门,放弃责任,仿佛开门揖盗,一时的不只是物品,更有良心.”下列对此理解正确的是:( )
- 集合A={1,3,5,7...}用描述法可以表示为.