DisocclusionEuler
Ce code permet de restaurer une image 2D couleurs ou niveaux de gris dont certaines parties sont manquantes, endommagées ou indésirables. Le principe de reconstruction s'inspire du modèle de Kanizsa pour la complétion amodale (c'est-à-dire la capacité du système visuel à reconstruire virtuellement des objets partiellement occultés)
La reconstruction repose sur l'interpolation des lignes de niveau de chaque composante de l'image dans une représentation couleur de type Lab ou YUV (avec un canal de luminance et deux canaux de chrominance).
Le code propose deux méthodes d'interpolation :
1) une interpolation par minimisation globale d'une énergie faisant intervenir la longueur des lignes de niveau interpolées et les angles avec les lignes de niveau incidentes. La minimisation globale est effectuée par programmation dynamique.
2) une interpolation à chaque niveau à l'aide d'une famille de spirales d'Euler qui minimisent (pour la classe des spirales d'Euler uniquement) l'énergie de l'elastica d'Euler. Les croisements de spirales sont autorisés.
Le code est écrit en C et utilise les fonctions de base de manipulation d'images de la bibliothèque Megawave2 (disponible à l'adresse http://megawave.cmla.ens-cachan.fr/ et utilisable sans restriction dans un cadre universitaire).
La bibliothèque Megawave téléchargeable sur le site http://megawave.cmla.ens-cachan.fr/ contient d'ailleurs une version antérieure du code (avec source) qui n'offre que la fonctionnalité 1) décrite ci-dessus.