total = len(histogram)
counts = {}
for item in histogram:
    counts.setdefault(item, 0)
counts[item] += 1
ent = 0
for i in counts:
    p = float(counts[i]) / total
ent -= p * log2(p)
return -ent * log2(1 / ent)
im = Image.open('test.png')
h = im.histogram()
print(get_histogram_dispersion(h))
Как идентифицировать нефотографические или «неинтересные» изображения с помощью Python Imaging Library (PIL)