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.
- Par exemple, prenons chaque pixel de l'image et décalons chaque valeur d'une quantité constante, par exemple en ajoutant un
nombre donné. Que se passe t'il ? Les valeurs sombres deviennent plus claires, nous avons augmenté la luminosité de notre
image. C'est exactement ce qui se passe sur le réglage de luminosité d'un écran: il s'agit d'ajouter ou retirer une valeur
constante pour donner plus ou moins de lumière.
- Prenons maintenant chaque pixel et multiplions sa valeur par une quantité donnée, disons plus grande que un. Que se passe
t'il ? Nous augmentons les amplitudes entre valeurs sombres et claires, nous avons augmenté le contraste de notre image. C'est
exactement ce qui se passe sur le réglage de contraste d'un écran: il s'agit soit d'amplifier les écarts entre les valeurs
donc favoriser les noirs et les blancs au détriment des gris, soit de diminuer ces écarts (en multipliant toutes les valeurs
par un nombre plus petit que un) donc de rapprocher toutes les couleurs du gris.
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.