Non non, tout est bien codé et les programmes donnent des résultats très satisfaisants.
J'ai pas mal d'images prises avec un appareil photo de 16 Mp (j'aime bien la photo
) : l'image fait 6.9Mo et 4608x3456 pixels, donc ça fait 1640448 opérations (1,6x10^6) (+ 3 valeurs par pixel (RVB))
Le programme travaille sur l'image étudiée + l'image où les modifications sont appliquées, donc 2 images de même taille (ca au pire on s'en fout pour la vitesse)
Après, je peux toujours vous donner un bout de code, mais ça n'a absolument rien de tordu puisque c'est en gros 2 boucles for imbriquées
Exemple : ici, c'est pour transformer une photo en noir ou blanc ( ≠ niveaux de gris)
elif n==l_option[7]:
message.set('Modification en cours...')
l=[]
im2=Image.new('RGB', (x,y), 'white')
pix2=im2.load()
for i in range(x):
for j in range(y):
e=int((pix[i,j][0]+pix[i,j][0]+pix[i,j][0])/3)
if e>128:
pix_new[i,j]=(255,255,255)
else:
pix_new[i,j]=(0,0,0)
description='noir et blanc'
(temps de traitement : 48s montre en main ; proc i3 1.8GHz)