previous up next contents
Précédent : Extraction simultanée de Remonter : Traitement d'images et Suivant : Géométrie d'un système

Manipulation efficace d'images binaires à l'aide de BDD

Participants : Luc Robert, Grégoire Malandain

  Les Diagrammes de Décision Binairesgif ( BDD) permettent de manipuler de manière efficace des fonctions logiques de variables booléennes. Nous avons étudié diverses applications des BDD à la représentation et au traitement d'images binaires.

Dans une première application, nous représentons une image binaire (dont les pixels valent 0 ou 1) par le BDD de la fonction logique dont les variables sont les bits des coordonnées des pixels, et qui retourne vrai si et seulement si la valeur du pixel dans l'image est 1.

Cette représentation possède de multiples avantages : Tout d'abord, elle permet de manipuler indifféremment des images de dimension arbitraire. Ensuite, elle est très compacte : Pour un ordre particulier des variables, le BDD est isomorphe à un k-d treegif où on aurait identifié et fusionné tous les sous-arbres équivalents ; en permutant les variables dans le BDD, on peut encore le réduire. Enfin, en travaillant directement sur les BDD, on peut effectuer de manière très efficace un grand nombre d'opérations de traitement d'image (comptage des pixels à 1, opérations logiques sur les images incluant les applications classiques de morphologie mathématique : érosion-dilation, ouverture,...).

Une seconde application est la génération de code efficace pour les algorithmes de traitement d'images binaires à base de masques (ceci inclut les opérations de morphologie et de topologie discrète sur les images). Nous avons traité le cas particulier de l'amincissement 3D : en chaque voxel, une fonction logique complexe des valeurs aux 26 voxels voisins est évaluée, afin de savoir si le voxel doit ou non être conservé. En pré-calculant le BDD correspondant à cette fonction et en le compilant sous forme de code C, nous obtenons une nouvelle fonction équivalente à la précédente, et qui s'exécute en moyenne 100 fois plus vite.


previous up next contents
Précédent : Extraction simultanée de Remonter : Traitement d'images et Suivant : Géométrie d'un système