У меня есть 5 изображений в одной папке. я хочу посчитать энтропию всех этих изображений одно за другим и хочу показать их. мой код
import glob
from PIL import Image
import numpy as np
import matplotlib.pylab as plt
def entropy(signal):
lensig=signal.size
symset=list(set(signal))
numsym=len(symset)
propab=[np.size(signal[signal==i])/(1.0*lensig) for i in symset]
ent=np.sum([p*np.log2(1.0/p) for p in propab])
return ent
for filename in glob.glob('/content/drive/My Drive/Colab Notebooks/Asplab/Cifar/*.png'):
colorIm=Image.open(filename)
greyIm=colorIm.convert('L')
colorIm=np.array(colorIm)
greyIm=np.array(greyIm)
N=5
S=greyIm.shape
for i in range(5):
for row in range(S[0]):
for col in range(S[1]):
Lx=np.max([0,col-N])
Ux=np.min([S[1],col+N])
Ly=np.max([0,row-N])
Uy=np.min([S[0],row+N])
region=greyIm[i, Ly:Uy,Lx:Ux].flatten()
E1[row,col]=entropy(region)
IndexError: слишком много индексов для массива