42 lines
938 B
Python
42 lines
938 B
Python
import numpy as np
|
|
|
|
def moyenne(X):
|
|
return sum(X)/len(X)
|
|
|
|
def variance(X):
|
|
m = moyenne(X)
|
|
return sum([x**2 for x in X]) - (moyenne(X))**2
|
|
|
|
def somme(X):
|
|
if(isinstance(X,(int,float,np.int64))):
|
|
return X
|
|
return sum([somme(x) for x in X])
|
|
|
|
print(somme(np.array([0,3,4,54])))
|
|
|
|
def seuillage(A,seuil):
|
|
filtre = lambda x,s: 0 if x<s else 1
|
|
return np.vectorize(filtre)(A,seuil)
|
|
|
|
|
|
def pixel_centre_bille(A):
|
|
idx = np.indices(A.shape)*A
|
|
return [(somme(idx[i])/somme(A)) for i in (0,1)]
|
|
|
|
def prendre_photo():
|
|
return np.random.rand(256,256)
|
|
|
|
def positions(n,seuil):
|
|
return [pixel_centre_bille(seuillage(prendre_photo(),seuil)) for _ in range(n)]
|
|
|
|
def fluctuations(P,t):
|
|
pass
|
|
|
|
|
|
table = np.random.rand(12,12)
|
|
table2=np.eye(12,12)
|
|
seuillé = seuillage(table,0.7)
|
|
print(table)
|
|
print(seuillage(table,0.7))
|
|
print(pixel_centre_bille(seuillé))
|
|
print(positions(42,0.6)) |