⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shang_erzhi.m

📁 图像一维熵的计算方法。读入彩色图像
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 算法说明 :
% 将灰度图像存入矩阵I中;(假设I为m×n的灰度矩阵)
% 横向扫描图像I的每一像素,分别记录下所有灰度值出现的次数;
% 求出矩阵I中不同灰度值出现的概率;
% 利用熵的定义求出图像I的熵

% 算法描述:
% 将灰度图像以矩阵形式存入I;(假设I为m×n的灰度矩阵)
% for i=1 to m
%    for j=1 to n
%        a= I(i,j);    // 将矩阵I中第i行第j列的灰度值赋值给a
%        S(a)= S(a)+1;  // 统计灰度值为a的像素个数
%    end
%end          //横向扫描图像I中的每一个像素,分别统计灰度从0到255之间的像素个数
%P=S/(m*n);              //分别统计灰度从0到255之间的像素出现的概率
%
%h=0;                    //熵的初始化
%for ii=1 to 256
%    if P(ii)!=0
%       h=h+P(ii)*log2P(ii);
%    end
%end                     //利用熵的定义累加求图像I的熵值的负值
%
%H=-h;                   // H为图像的熵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;clear all;close;figure;

 [filename,pathname] = uigetfile('*.*','读入彩色图像');
 [rgb,map] = imread([pathname,filename]);

 % I=rgb2gray(rgb);
 I=rgb;
 [m,n] = size(I);

 
 %I0=double(I)/255;
 I0=I;
 I1=double(I)+1;
 subplot(2,2,1);imshow(I0);
 subplot(2,2,2); imhist(I0,2);  %显示柱状图
 
 k = m*n;
 s(256) = 0;
 for i=1:m
     for j=1:n
         a=I1(i,j);
         s(a)=s(a)+1;
     end
 end
 p=s./k;
 x=[1:1:256];
 
subplot(2,2,4); plot(x,s);

 h=0;
 for ii=1:256
     if p(ii)~=0
         h=h+p(ii)*log2(p(ii));
     end
 end

 

⌨️ 快捷键说明

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