2020-04-08 14:20:16 +00:00
|
|
|
import os.path
|
|
|
|
import sys
|
2020-04-08 15:36:09 +00:00
|
|
|
import glob
|
2020-04-08 14:20:16 +00:00
|
|
|
import numpy as np
|
|
|
|
import math
|
|
|
|
|
|
|
|
def Import_dessinBitmap(file):
|
2020-04-08 15:36:09 +00:00
|
|
|
array = np.load(file)
|
2020-04-08 14:20:16 +00:00
|
|
|
return array.tolist()
|
|
|
|
# return array
|
|
|
|
|
|
|
|
|
|
|
|
def Afficher_Array(y):
|
|
|
|
space = ' ' # <--- Pour modifier les espaces
|
|
|
|
N1=len(y)
|
|
|
|
for i in range(N1):
|
|
|
|
N2=len(y[i])
|
|
|
|
for j in range(N2):
|
|
|
|
if y[i][j]:
|
|
|
|
print(str(y[i][j]), end=space)
|
|
|
|
else:
|
|
|
|
print(' ', end=space)
|
|
|
|
print("")
|
|
|
|
|
|
|
|
|
|
|
|
def Dim(Count, Size):
|
|
|
|
return np.log(Count) / np.log(Size)
|
|
|
|
|
|
|
|
|
|
|
|
def Calcul_dim(y, n=0):
|
|
|
|
L = 2 ** n
|
|
|
|
dim = 1
|
|
|
|
|
|
|
|
N1 = len(y)
|
|
|
|
for i in range(0, N1, L):
|
|
|
|
N2 = len(y[i])
|
|
|
|
for j in range(0, N2, L):
|
|
|
|
Trouver = False
|
|
|
|
for i2 in range(i, i+L):
|
|
|
|
for j2 in range(j, j+L):
|
|
|
|
if y[i2][j2] == 1.0 and i2 != (N1-1) and not(Trouver):
|
|
|
|
dim += 1
|
|
|
|
Trouver = True
|
2020-04-08 15:36:09 +00:00
|
|
|
return Dim(dim, N1//L)
|
|
|
|
|
2020-04-08 16:08:08 +00:00
|
|
|
def Calcul_Dossier(folder=".\\", n=0):
|
2020-04-08 15:36:09 +00:00
|
|
|
npy_list = [f for f in glob.glob(folder + "*.npy")]
|
|
|
|
S=[]
|
|
|
|
|
|
|
|
for i in range(len(npy_list)):
|
|
|
|
file=npy_list[i]
|
|
|
|
y = Import_dessinBitmap(file)
|
|
|
|
dim = Calcul_dim(y, n)
|
|
|
|
print(str(i+1) + "\t" + file + " :\t" + str(dim))
|
|
|
|
S.append(dim)
|
|
|
|
|
|
|
|
print("\n---")
|
|
|
|
N = len(S)
|
|
|
|
Moyenne = 0
|
|
|
|
Ecart = 0
|
|
|
|
for i in S:
|
|
|
|
Moyenne += i
|
|
|
|
Ecart += i ** 2
|
|
|
|
Moyenne = Moyenne / N
|
|
|
|
Ecart = math.sqrt((Ecart / N - Moyenne ** 2) * N / (N - 1))
|
|
|
|
print("Moyenne :\t\t" + str(Moyenne))
|
|
|
|
print("Ecart type empirique :\t" + str(Ecart))
|
|
|
|
|
|
|
|
return (Moyenne, Ecart)
|
|
|
|
|
2020-04-08 16:08:08 +00:00
|
|
|
def main(folder=".", n=0):
|
|
|
|
# folder_list = [f for f in os.listdir(folder) if os.path.isfile(os.path.join(folder, d))]
|
|
|
|
folder_list = [f for f in glob.glob(folder + "\\*\\")]
|
|
|
|
|
|
|
|
Resultat = []
|
|
|
|
for dossier in folder_list:
|
|
|
|
print("\t--- " + dossier + " ---")
|
|
|
|
Resultat.append(Calcul_Dossier(dossier))
|
|
|
|
print("")
|
|
|
|
print("")
|
|
|
|
return Resultat
|
|
|
|
|
|
|
|
main("..\\Image")
|
2020-04-08 15:36:09 +00:00
|
|
|
# input()
|