熵、图像熵的意义及计算方法
参考:http://blog.csdn.net/daoqinglin/article/details/6906413
http://www.360doc.com/content/17/1215/15/50936292_713342097.shtml
Autofocusing of ISAR image based on entropy minimization
X Li,G Liu,J Ni - 《IEEE Transactions on Aerospace & Electronic Systems》
一 熵
熵(entropy)指的是体系的混乱的程度,它在控制论、概率论、数论、天体物理、生命科学等领域都有重要应用,在不同的学科中也有引申出的更为具体的 定义,是各领域十分重要的参量。熵由鲁道夫·克劳修斯(Rudolf Clausius)提出,并应用在热力学中。后来在,克劳德·艾尔伍德·香农(Claude Elwood Shannon)第一次将熵的概念引入到信息论中来。
二 信息熵
利用信息论中信息熵概念,求出任意一个离散信源的熵(平均自信息量)。自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。一条信息的信息量和它的不确定性有着直接的关系。所发出的消息不同,它们所含有的信息量也就不同。任何一个消息的自信息量都代表不了信源所包含的平均自信息量。不能作为整个信源的信息测度,因此定义自信息量的数学期望为信源的平均自信息量:
信息熵的意义:信源的信息熵H是从整个信源的统计特性来考虑的。它是从平均意义上来表征信源的总体特性的。对于某特定的信源,其信息熵只有一个。不同的信源因统计特性不同,其熵也不同。信息熵一般用符号H表示,单位是比特。变量的不确定性越大,熵也就越大。
三 图像熵
1、一维熵
图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令Pi 表示图像中灰度值为i的像素所占的比例,则定义灰度图像的一元灰度熵为:
其中Pi是某个灰度在该图像中出现的概率,可由灰度直方图获得。
2、二维熵
图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。选择图像的邻域灰度均值作为灰度分布的空间特征量,与图像的像素灰度组成特征二元组,记为( i, j ),其中i 表示像素的灰度值(0 <= i <= 255),j 表示邻域灰度均值(0 <= j <= 255):
上式能反应某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i, j)为特征二元组(i, j)出现的频数,N 为图像的尺度。
四 复图像
五 源码
- 1.求一元灰度熵
- %方法一
- [M,N]=size(im);
- temp=zeros(1,256);
- %对图像的灰度值在[0,255]上做统计
- for m=1:M;
- for n=1:N;
- if im(m,n)==0;
- i=1;
- else
- i=im(m,n)+1;
- 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
- %方法二
- %求熵值entropy
- im=rgb2gray(imread('mubiao.bmp'));
- [count,x]=imhist(im);
- total=sum(count);
- entropy=0;
- for i=1:256
- p(i)=count(i)/total;
- if p(i)~=0
- logp(i)=log2(p(i));
- entropele=-p(i)*logp(i);
- entropy=entropy+entropele;
- end
- end
- 2.求二维熵
- %随机生成图像
- A=floor(rand(8,8).*255);
- [M,N]=size(A);
- temp=zeros(256,256);
- %均值滤波器,实现计算邻域灰度均值
- h=fspecial('average') ;%默认3*3
- y=filter2(h,A) ;
- %对图像的灰度值和邻域均值在[0,255]上做统计
- for m=1:M;
- for n=1:N;
- if A(m,n)==0;
- i=1;
- else
- i=A(m,n)+1;
- end
- j = ceil(y(m,n));
- 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
- 3.计算联合熵
- %随机生成图像
- 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
六 Matlab的计算熵的函数
Matlab中的这2个函数分别是计算熵的,entropy计算全局熵,entropyfilt计算局部熵
给定一个灰度图I, entropy(I)的计算方法是,将I直方图化到0-255的bin中,L1规范化,再用 –sum(p*log2(p))来计算整理熵,即
Curhist = Hist(I, 0:255);
Curhist = curhist / sum(curhist);
E = -sum(curhist .* log2(curhist));
entropyfilt选取以各像素点为中心的的n*n(默认n=9)的区域进行熵计算,计算方法同上。该方法可以表示纹理
调用方法如下:
E = entropy(I)
J = entropyfilt(I)
J = entropyfilt(I,NHOOD
熵、图像熵的意义及计算方法相关推荐
- 图像熵的意义以及计算
熵(entropy)指的是体系的混乱的程度,它在控制论.概率论.数论.天体物理.生命科学等领域都有重要应用,在不同的学科中也有引申出的更为具体的 定义,是各领域十分重要的参量.熵由鲁道夫·克劳修斯(R ...
- 图像熵(matlab)
图像熵的计算公式: 其中P(ai)为某一事件发生的概率,式中对数一般取2为底,单位为比特. 概率为P(E)的随机事件E包含了下面这样的信息单位: 如果P(E)=1(也就是说,这个事件总会发生),那么I ...
- halcon学习笔记(6)——学习Crystals例子的凸包及图像熵
还是手册里面的例子,这个回的难度比较大,概念性的东西比较多,例子在Halcon手册Solution Guide I Basics的4.3.1 Crystals里:话不多说贴一下代码: * crysta ...
- 相对熵与交叉熵_熵、KL散度、交叉熵
公众号关注 "ML_NLP"设为 "星标",重磅干货,第一时间送达! 机器学习算法与自然语言处理出品 @公众号原创专栏作者 思婕的便携席梦思 单位 | 哈工大S ...
- 近似熵 样本熵 模糊熵
特征提取field 表征信号序列复杂程度的无量纲指标,熵值越大代表信号复杂度越大. 应用:机械设备状态监测.故障诊断以及心率.血压信号检测 优点:抵抗环境干扰 1. 近似熵 Def: 近似熵(Appr ...
- 自信息/熵/联合熵/条件熵/相对熵/交叉熵/互信息及其相互之间的关系
[深度学习基础]:信息论(一)_自信息/熵/联合熵/条件熵/相对熵/交叉熵/互信息及其相互之间的关系_bqw的博客-CSDN博客 详解机器学习中的熵.条件熵.相对熵和交叉熵 - 遍地胡说 - 博客园
- 计算一班总分 使用的计算机公式是,班级学科均量值意义及计算方法简介
以下为<班级学科均量值意义及计算方法简介>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. 班级学科均量值意义及计算 ...
- 【数据压缩】压缩率-图像熵-保真度
转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/50351562 勿在浮沙筑高台 关于图像压缩上的几个名词解释: 1.平均比特数: ...
- matlab 灰度共生矩阵熵,图像的灰度共生矩阵GLCM(matlab 函数帮助).
Gray-level co-occurrence matrix from an image 图像的灰度共生矩阵 灰度共生矩阵是像素距离和角度的矩阵函数,它穿越计算图像中定然距离和定然方向的两点灰度之间 ...
最新文章
- mongo报错:not authorized on bb to execute command { create: \“xxx\“...}
- Ansible搭建hadoop3.1.3高可用集群
- eclipse打开过的工程信息保存路径
- linux tomcat 开启apr,tomcat开启APR
- Java微信公众平台开发--番外篇,对GlobalConstants文件的补充
- C#实现网页加载后将页面截取成长图片
- [Wannafly挑战赛2D-Delete]最短路
- hdu 3944 DP? (Lucas 定理)
- 中国工商银行贵金属递延如何销户
- vs2013创建c++控制台应用程序
- myeclipse 8.0GA 安装注册步骤
- 容器技术Docker K8s 32 容器服务ACK基础与进阶-弹性伸缩
- fdisk硬盘分区(1)——系统盘剩余空间创建分区
- 聚类分析原理(动图演示)
- linux 系统中没有rpm命令
- java 100%3.0_java经典选择题100例及答案
- [原]几条简单命令查询硬件信息
- 《Multi-Scale Residual Learning-using a Cycle Spinning CNN for Single Image De-Raining》
- android自定义矩形框,Android 中自定义长方形
- vue 添加滚动条 横向 竖向