Next: octrees dans l'espace Up: Perspectives Previous: Perspectives

Couleur

Pour traiter une plus grande diversité d'images, on peut souhaiter étendre le modèle en y introduisant la couleur, ce qui ne modifie que très peu les routines employées.


type image = Fantome | Color of color | Node of (image ref) 
list;;
Où color est le type du module graphique de Caml.

Tout d'abord, une signification doit être donnée au calcul de l'intersection de deux images. Ici on a choisi de fournir à la routine une fonction color*color color, qui permet de l'utiliser sur un grand nombre de transformation. On a par exemple implanté une superposition soustractive et une additive (voir figure 10). Par ailleurs, on n'a plus la possibilité, comme en noir et blanc, de simplifier le calcul grâce aux relations : et , il faut poursuivre jusqu'à rencontrer deux couleurs.

On est également amené à se demander ce que signifie calculer la surface d'une image en couleur. Une première interprétation pourrait être la surface non blanche (ou non noire), mais la plus intéressante, pour l'affichage en particulier, est sans doute la couleur moyenne de l'image, ce qui est également le cas en noir et blanc comme on l'a vu pour l'affichage anticrênelé. La matrice à inverser se construit de la même façon que précédemment, sauf en ce qui concerne les termes constants qui sont triplés et correspondent au niveau de chaque composante RVB (rouge, vert bleu), le système est ensuite résolu trois fois, une par composante, mais les calculs sont bien entendu effectués en parallèle. Cela nous permet de programmer l'affichage avec anticrênelage, exactement comme en noir et blanc, avec les mêmes limitations bien entendu.

La minimisation n'a pu être adaptée, faute de temps, c'est néanmoins tout à fait possible, le principal problème survient pour la phase préliminaire qui vérifie qu'une image est bien fondée et y remédie le cas échéant. En effet, s'il est très simple, en regardant sa surface, de voir si une image noir et blanc est uniforme, ça l'est beaucoup moins pour une image couleur : comment savoir si une image en moyenne grise est uniformément grise ou moitié noire et moitié blanche ? Il faut alors parcourir l'arbre, et regarder si plusieurs couleurs différentes sont rencontrées. De toute façon cette méthode est également la meilleure dans le cas monochrome, puisqu'elle ne souffre pas des erreurs de calcul en flottants, contrairement á l'inversion de la matrice par la méthode du pivot de Gauss.



Next: octrees dans l'espace Up: Perspectives Previous: Perspectives


fdurand@clipper.ens.fr, fleuret@clipper.ens.fr
Thu Jun 9 18:32:25 MET DST 1994