如何用matlab软件计算一幅图像信息的熵以及两幅图像间的联合熵?

 我来答
ikanchi
2006-06-05 · TA获得超过2917个赞
知道小有建树答主
回答量:665
采纳率:33%
帮助的人:0
展开全部
%计算一副图像的熵

%随机生成图像
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
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式