一维熵

2022-05-29 09:48:22 浏览数 (3)

代码语言:javascript复制
import cv2
import matplotlib.pyplot as plt
import numpy as np
import math
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def calc_array():
    img=cv2.imread('C:/Users/xpp/Desktop/Lena.png',0)#读取图像
    hist_cv=cv2.calcHist([img],[0],None,[256],[0,256])#[0,256]的范围是0~255
    plt.subplot(231)
    plt.axis('off')
    plt.title('原始图像')
    plt.imshow(img,cmap='gray')
    plt.subplot(232)
    plt.plot(hist_cv)
    plt.show()
    P=hist_cv/(len(img)*len(img[0]))#概率
    E=np.sum([p *np.log2(1/p) for p in P])
    print(E)
calc_array()

算法:一维熵是图像灰度值的聚集特征,不能表征空间特征。一维熵公式如下:

其中,pi表示通过图像灰度直方图获得灰度值为i(0≤i≤255)的像素所占的比例。

熵是体系的混乱的程度,越乱越大。图像熵是图像特征的一种统计形式,反映了图像中平均信息量的多少,能够反映图像各像素点的分布复杂程度。熵越大,图像越清晰。

文献:Calabrese, P. , & Cardy, J. . (2005). Evolution of entanglement entropy in one-dimensional systems. Journal of Statistical Mechanics Theory & Experiment, 4(4), 04010.

Korepin, V. E. . (2004). Universality of entropy scaling in one dimensional gapless models. Physical Review Letters, 92(9), 096402.

链接:http://www.360doc.com/content/13/1122/11/10724725_331249748.shtml

注意:熵值为非负值。

0 人点赞