
信息熵的意义:信源的信息熵H是从整个信息源的统计特性来考虑的。它是从评价意义上来表征信息源的总体特征的。对于某特定的信息源,其信息熵只有一个。不同的信息源因统计特性不同,其熵也不同。图像的信息熵的意义:它表征图像灰度分布的聚集特性,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。
熵是一种具有加和性的状态函数,体系的熵值越大则微观状态数Ω的越大,即混乱度越大!!熵均大于等于零!
一个孤立系统的熵永远不会减少。它表明随着孤立系统由非平衡态趋于平衡态,其熵单调增大,当系统达到平衡态时,熵达到最大值。熵的变化和最大值确定了孤立系统过程进行的方向和限度,熵增加原理就是热力学第二定律。
熵:描述体系混乱度的状态函数叫做熵,用S表示。体系的状态一定,其微观状态数一定,如果用状态函数来表示混乱度的话,状态函数与与微观状态数Ω存在下列关系S=klnΩ,其中k=138×10-23J/K叫波尔兹曼常数。idx = hspec == 0;%找出矩阵hspec中等于0的元素
hspec(idx) = eps; %令矩阵hspec中等于0的元素等于eps,eps是matlab中的一个常数,无限接近于0
例如:
>> x=0;
>> sin(x)/x
ans =
NaN
>> x=eps;
>> sin(x)/x
ans =
1
可以使用Python版的opencv 来实现。
现读取:
import numpy as np
from matplotlib import pyplot as plt
image=cv2imread('/src/q5png')
HSV=cv2cvtColor(image,cv2COLOR_BGR2HSV)
计算熵
img = nparray(HSV)for i in range(len(img)):
for j in range(len(img[i])):
val = img[i][j]
tmp[val] = float(tmp[val] + 1)
k = float(k + 1)
for i in range(len(tmp)):
tmp[i] = float(tmp[i] / k)
for i in range(len(tmp)):
if(tmp[i] == 0):
res = res
else:
res = float(res - tmp[i] (mathlog(tmp[i]) / mathlog(20)))
保存:
HSV图形可以直接存储,特征可以存xml中~
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)