un_entropy.m

来自「matlab 关于二值图像熵和交叉熵的计算程序,这一程序与结合其它方法对图像进行」· M 代码 · 共 42 行

M
42
字号
%计算联合熵 
%随机生成图像 
A=imread('lena1.bmp'); 
B=imread('bacteria.bmp'); 

[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
%问题补充:因为我在计算的时候要有好几张图像,比如说卫星图像,航空影片.有的是.pix格式的文件.
%我不知道在转为jpg文件的时候是不是会有信息丢失,会不会影响图像的信息熵?如果是pix的话,
%好像用imread读不进去啊,他说不能识别????

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?