Algorithmes sur les images dans Excel
Ce sont des petits carrés colorés de manière uniforme. Une image est constituée de « pixels »: il y en a ici 600400 = 240 000. Codage de l’image La couleur des pixels est obtenue par la somme de 3 couches de couleurs primaires: Ce sont des petits carrés colorés de manière uniforme.
Codage de l’image Codage de la couleur: Sur l’exemple choisi, chacune des 3 couleurs est codée sur « 8 bits », c’est-à-dire par un nombre à 8 chiffres en base 2 (de 0 à 11111111 (=255) ) La somme de ces 3 couleurs primaires produit toutes les couleurs désirées… Le mélange de rouge 130, vert 210 et bleu 225 donne la couleur cyan qui est codée 14799490 = 130+210256+2252562. Ainsi chaque couleur est codée sur 24 bits, par un nombre entier entre 0 et 2563-1. Chacun des 240 000 pixels est associé à un nombre entier de 24 bits. Cette image est donc une suite de 240 000 nombres entiers de 24 bits, soit au total 240 000 24 = 5 760 000 bits =720 000 octets (1octet=8bits)≈720 ko≈0,7Mo
Codage de l’image
Transformation 1 : couleur niveaux de gris Traitement de l’image Les logiciels de traitement d’images permettent de modifier l’image de façons diverses et nombreuses: Transformation 1 : couleur niveaux de gris Pour chaque pixel, on fait la moyenne des 3 composantes RVB: (r,v,b)( E[r+v+b)/3], E[(r+v+b)/3], E[(r+v+b)/3])
Transformation 2: luminosité: plus clair / plus foncé Traitement de l’image Transformation 2: luminosité: plus clair / plus foncé Pour chaque pixel, on augmente ou diminue les 3 composantes RVB d’une valeur arbitraire: (r,v,b)( min(r+20;255), min(v+20;255), min(b+20;255)) (+clair)
Transformation 3: plus ou moins contrasté Traitement de l’image Transformation 3: plus ou moins contrasté Pour chaque pixel, on applique la fonction f (courbe ci-dessous) à chacune des composantes: (r,v,b)( f(r), f(v), f(b))
Transformation 4: négatif Traitement de l’image Transformation 4: négatif Pour chaque pixel, on applique la fonction f (courbe ci-dessous) à chacune des composantes: (r,v,b)( f(r), f(v), f(b)) avec f(x)=255-x
Transformation 5: noir & blanc, seuil à la médiane Traitement de l’image Transformation 5: noir & blanc, seuil à la médiane Seuil à la moyenne Pour chaque pixel, on applique la fonction f (courbe ci-dessous) à chacune des composantes: (r,v,b)( f(r), f(v), f(b)) avec f(x)=0 si xmédiane, f(x)=255 si x>médiane
Première étape: Transfert d’une image dans Excel Algorithmes sur Excel Un logiciel gratuit présent sur internet (BMP TO XLS) permet de transférer une image dans une feuille Excel: un pixel correspond à une cellule qui est coloriée (couleur de remplissage) selon la couleur du pixel. Régler : colonne = 0,08 et hauteur = 1
Deuxième étape: Récupération du code couleur de chaque pixel Algorithmes sur Excel L’image se situe dans la feuille nommée « image » dans L1C1:L350C200. C’est une image 200350 pixels. Un algorithme créé en Visual basic dans le développeur de Excel va ramener le code couleur dans L1C1:L350C200 de la feuille nommée « codecouleur »:
Troisième étape: Création de l’image en teintes de gris Algorithmes sur Excel Une fonction Visual basic va transformer le code couleur en code gris dans le bloc de cellules L1C1:L350C200 de la feuille nommée «codenb»: Un algorithme va créer l’image en teintes de gris dans la feuille « image » dans le bloc de cellules : L1C202:L350C401
Statistiques sur l’image en teintes de gris Algorithmes sur Excel
Transformation: plus clair Algorithmes sur Excel Transformation: plus clair Un algorithme créé en Visual basic va modifier le code teinte de gris et recopier dans la feuille « nbmodifie ») de la façon suivante: xx+30 si x225 et x255 si x>225
Transformation: plus sombre Algorithmes sur Excel Transformation: plus sombre Un algorithme créé en Visual basic va modifier le code teinte de gris ainsi: xx-30 si x30 et x0 si x<30
Transformation: moins de contraste Algorithmes sur Excel Transformation: moins de contraste Un algorithme créé en Visual basic va modifier le code teinte de gris ainsi: xE(0,7x+39) cela réduit la plage des gris de 30% et laisse invariant 128.
Transformation: plus de contraste Algorithmes sur Excel Transformation: plus de contraste Un algorithme créé en Visual basic va modifier le code teinte de gris ainsi: xE(1,3x-38) si 30<x<226, x0 si x<31 et x255 si x>225
Transformation: Négatif Algorithmes sur Excel Transformation: Négatif Un algorithme créé en Visual basic va modifier le code ainsi: x255-x
Transformation: Seuil Algorithmes sur Excel Transformation: Seuil Un algorithme créé en Visual basic va modifier le code ainsi: x 0 si x < seuil et x 255 si x seuil
Algorithmes sur Excel FRACTALES sur Excel
L’ensemble de Mandelbrot: Dans le plan complexe, on considère la suite (zn) définie par zn+1 = zn²+ c et z0 = 0. L’ensemble de Mandelbrot est l’ensemble des c pour lesquels la suite converge (en module). S’il existe n pour lequel ∣ zn ∣>2, la suite diverge. Il est nécessaire que ∣c∣< 2 pour que la suite converge. Image créée sur Excel Algorithmes sur Excel On cherche pour chaque point d’un maillage d’une partie du plan, l’entier n(<255) à partir duquel ∣ zn ∣>2. La couleur du point sera 255-n (composante rouge). Ainsi un point noir sera un c pour lequel la suite semble converger et plus un point est clair, plus la suite diverge vite… L’image est créée dans la feuille nommée « image » dans le bloc de cellules L1C1:L522C522, pour le maillage: -0,4<x<0,2, 0,5<y<1,1 pas de 0,6/522
Ensembles de Julia: Dans le plan complexe, on considère la suite (zn) définie par zn+1 = zn²+ c et z0 = b. L’ensemble de Julia est, pour un c donné à la frontière de l’ensemble de Mandelbrot, l’ensemble des b pour lesquels la suite converge (en module). Algorithmes sur Excel On cherche pour chaque point b d’un maillage d’une partie du plan, l’entier n(<255) à partir duquel ∣ zn ∣>2. Ici, on a c=0,284 – 0,0122 i. La couleur du point sera n. Ainsi un point noir sera un b pour lequel la suite diverge et plus un point est clair, plus la suite converge vite… L’image est créée dans la feuille nommée « image » dans le bloc de cellules L1C1:L521C521, pour le maillage: -1,3<x<1, 3 -1,3<y<1,3 pas de 0,005
Ensembles de Julia: d’autres ensembles: Algorithmes sur Excel C=-0,414-0,612i
Et voilà Diaporama disponible à: http://bretin.jacques.free.fr/algorithmes/