Dessine-moi un pixel !

Les documents disponibles sur cette page ainsi que le contenu de la page sont mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International Licence Creative Commons

Cette activité est très fortement inspirée d'un travail de collègues de l'IREM de Clermont-Ferrand.

Notions abordées :

Avec cette activité, tout en réalisant une fresque collaborative, on parle de différentes façons de représenter une information (ici une image) et de l'efficacité de ces représentations. En d'autres mots on parle de codage d'image et de compression.

Public :

Cette activité a été testée plusieurs années en mode tout public à la fête de la science. Le plus jeune participant était en maternelle et l'a réalisé avec aide. Elle est également réalisable en classe dès le primaire.

Matériel :

un exemple de dessin réalisé avec l'activité Pour réaliser cette activité il vous faut :

Principe :

Cette activité permet de parler de codage d'une image, de comprendre un codage particulier et de coder/décoder une image, ainsi que de travailler la collaboration en réalisant une image commune.

Le format le plus basique pour une image est de stocker une par une les couleurs de chaque point de l'image appelé pixel. Si on zoome sur ce type d'images appelées "matricielles", on voit qu'elles sont composées de plein de petits carrés de couleur. Dans le cas de cette activité, comme on n'a que deux couleurs (blanc et noir), il nous suffit de deux valeurs (mettons 0 et 1) pour représenter une image. Le code 00100110 décrit une image composée de 2 pixels blanc, puis 1 noir, deux blancs, deux noirs et un blanc.

Seulement ce format n'est pas très performant. Il permet de coder toutes les images noir et blanc, mais il prend beaucoup de place. En effet une image de 100 x 100 pixels tous blancs nécessiterait 10 000 zéros pour la coder. Le codage RLE (pour Run Length Encoding) permet de compresser de telles images en ne stockant plus chaque pixel un par un, mais en donnant la longueur des plages de pixels consécutifs de la même couleur.

Attention :

un 
    fragment de code RLE d'une image

Le contexte étant posé, l'activité se déroule comme suit :

Attention à bien indiquer sur chaque petite image à quel morceau de la grande il correspond, et comment l'orienter. De même il faut bien insister sur le fait que le codage RLE se moque des retours à la ligne. Si je dois colorier 8 pixels et qu'il n'en reste que 6 sur la ligne en cours, je colorie les 6 et continue avec les deux de la ligne suivante.

Extensions :

Une fois que le principe de décompression RLE est bien compris, on peut demander aux participant.e.s d'inventer une image (sur une grille qu'on leur donne, puis de la compresser avec le codage RLE, puis de la transmettre à un.e camarade qui reconstituera l'image à partir du code.

Afin d'adapter l'image à sonpublic (d'une part une image qui leur plairait, d'autre part le bon nombre de petites images à reconstituer), il est intéressant de construire soi-même son codage RLE à partir d'une image. Je fournis dans la section Liens un programme que j'ai écrit et qui permet de faire ce boulot.

Liens :

Photos :

Exemples d'images pixellisées noir et blanc et de résultats obtenus en dessinant à la main collaborativement. Le lapin fait 5 * 5 = 25 petites images, et le logo informagicienne en fait 10*10=100 (moins les quelques images totalement blanches que l'on colle avant que le public n'arrive, ici une petite vingtaine à vue de nez).

Le lapin, dessiné mainSLe même lapin fait à l'ordilogo informagicien.ne, dessiné mainSlogo informagicien.ne dessiné à l'ordilogo informagicien.ne dessiné à l'ordi