Comprendre quelques opérations de manipulation d'images.

Commençons par lire comment sont codées des images puis faisons l'activité proposée. Des explications sont données ci dessous.

Manipuler des objets numériques: l'exemple des images..

Le but de cette activité est de regarder quelques opérations que nous pouvons effectuer sur ces objets numériques. Nous considérons ici des images où chaque pixel est un nombre entre 0% pour le noir (considéré ici comme une absence de couleur) et 100% pour le blanc, donc des images monochromes qui vont de transparent à blanc. Nous allons essayer d'illustrer dans quelle mesure des opérations entre ces images peuvent prendre avoir un sens concret pour nous.

Ajouter deux images: l'effet de calque.

. Que peux signifier "ajouter" deux images ? Tout simplement produire un effet de calque comme on l'imagine facilement par le fait qu'on ajoute les intensités des deux pixels. En ajoutant les deux images, c'est à dire en ajoutant les valeurs de chaque pixel de la première image à la valeur du pixel correspondant dans la seconde image, on obtient une image qui amalgame les valeurs des deux, un peu comme un effet de calque. Si nous avions considéré des pixels de couleurs alors en les ajoutant nous aurions mélangé les couleurs et obtenues des combinaisons diverses. De plus, la notion de calque est lié au fait que nous avons considéré la notion de transparence: il s'agit juste ici d'illustrer un principe.

Soustraire deux images: un détecteur de mouvement..

A quoi peut correspondre maintenant la "soustraction" de deux images, c'est à dire soustraire à chaque pixel de la première image, la valeur du pixel correspondant de la seconde ? Il est facile de voir que si les pixels ont une même valeur, alors la différence sera nulle: ainsi si rien n'a changé d'une image à l'autre, il n'y aura pas de différence. Si au contraire, quelque chose a changé, alors la différence sera ou positive (disons plutôt noire) ou négative (disons plutôt blanche) et nous détectons ainsi les changements, comme nous le voyons dans l'activité pour deux images entre lesquelles la figurine a quelque peu bougé.
Dans le cas d'un film, nous obtenons une "image de mouvement": la détection de ce qui bouge d'une image à l'autre. Ce qui est très intéressant c'est que dans les rétines biologiques ou dans les systèmes de vision artificiels qui analysent les mouvements, c'est un calcul tout à fait similaire qui est mis en oeuvre.

Manipuler les valeurs des pixels: réglage de contraste et de luminosité, etc...

Regardons maintenant quelques opérations effectuées sur chaque valeur des pixels d'une image. Beaucoup d'autres opérations sur la valeur des pixels peuvent facilement se prédire: par exemple que se passe t'il si nous prenons pour une valeur de pixel entre -1 pour le noir et 1 pour le blanc, la valeur opposée ? Les noirs deviennent blancs et les blancs deviennent noir et nous avons une opération dite d'``inverse vidéo´´.

Les images comme des objets algébriques:.

Les mathématiciens voient donc sûrement ces tableaux bi-dimensionnels que sont les images comme des objets algébriques que l'on peut ajouter (effet de calque), multiplier par un scalaire, translater etc... Ce sont effectivement des vecteurs d'un espace vectoriel dont les composantes sont rangées en tableau. Ce ne sont pas des matrices car multiplier deux images (au sens de la multiplication des matrices des valeurs de pixels) correspond à une opération qui n'a pas de sens (hormis pour un artiste surréaliste !) en ce qui concerne les images. Nous sommes donc face à des objets algébriques dotées d'opérations riches de propriétés, mais différents des objets usuels de l'algèbre linéaire. Les théoriciens de la vision par ordinateur ont largement explorés ces aspects formels.