Algorithmes sur les images dans Excel
Ce qu’est une image numérique
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 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 00 000 000 (=0) à 11 111 111 (=255) ) Codage de l’image 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
Le code d’un gris est un multiple de 65793 Image en teintes de gris Une image en teintes de gris est une image où, pour chaque pixel, les composantes RVB sont égales. Ce gris est obtenu avec : 120 de rouge, 120 de vert et 120 de bleu. Son code est 120+120*256+120*256² Ou encore 120*(1+256+256²) = 120 * 65793. Ce gris est obtenu avec : 170 de rouge, 170 de vert et 170 de bleu. Ou encore 170 * 65793. Le code d’un gris est un multiple de 65793
Transformer une image couleur en image en teintes de gris Pour chaque pixel, on fait la moyenne (arrondie) des 3 composantes RVB: (r,v,b)( round[r+v+b)/3] , round[(r+v+b)/3] , round[(r+v+b)/3] )
Une image en teintes de gris dans Excel
Première étape: Transfert d’une image dans Excel Images dans Excel Un logiciel gratuit présent sur internet (BMP TO XLS) permet de transférer une image (format BMP) dans une feuille Excel. Un pixel correspond à une cellule colorée de la couleur du pixel. Réglage Excel: colonne = 0,08 et hauteur = 1
Deuxième étape: Récupération du code gris de chaque pixel Images dans Excel L’image se situe dans l’onglet nommé « image » dans L1C1:L200C190. C’est une image 200190 pixels ( = 38 000 pixels). Un algorithme créé en Visual basic dans le développeur de Excel va ramener le code gris dans L1C1:L200C190 de l’onglet nommé « code »:
Statistiques sur l’image en teintes de gris Images dans Excel Tableau des effectifs des pixels ayant une teinte donnée. Par exemple: il y a 513 pixels ayant la teinte 29. ce sont les pixels colorés en rouge sur l’image Algorithme coloriant en rouge les pixels de l’image ayant la teinte 18.
Statistiques sur l’image en teintes de gris Images dans Excel Tableau des effectifs des pixels ayant une teinte donnée.
L’image illisible du meurtrier dans Excel
Traitement de l’image illisible du meurtrier Image du meurtrier L’image du meurtrier est dans l’onglet « image » . C’est une image 200160 pixels ( = 32 000 pixels). On ne voit rien!!! Plan de travail: 1- Il faut récupérer les codes des teintes des pixels - diapo 9 - (mis dans l’onglet « code ») 2- Construire le tableau des effectifs suivant les teintes – diapo 10 - (mis dans l’onglet « stat ») 3- Modifier les teintes d’effectif non nul en : noir (code 0), rouge (code 255), vert , bleu, jaune, blanc – diapo 10 - (algorithme diapo 10) 4- Reconnaître le meurtrier…. 5- Faire un diaporama expliquant la méthode qui a permis de rendre lisible l’image du meurtrier (à des élèves qui ne connaissent RIEN – donc très pédagogique!)