Transformation d'une anamorphose conique en image panoramique

 

Qu'est ce qu'une anamorphose conique ?

C'est une image née de l'observation d'une scène à travers un miroir conique.

 

Qu'est ce qu'un miroir conique ?

C'est un simple cône dont la surface est réfléchissante.

 

Exemple :

Ici l'image perçue à travers le miroir conique nous semble plus familière que le dessin qu'elle reflète.

 

A quoi peut bien servir une anamorphose conique ?

A l'inverse de l'exemple ci dessus, une prise de vue d'une scène réelle à travers un miroir conique nous semble déformée. Par exemple, l'image ci dessous représente le quai d'un port de plaisance vu du pont d'un bateau :

Cette image est le résultat d'une prise de vue unique réalisée à partir d'un appareil photo tout à fait normal mais équipé d'un miroir conique dont la pointe est dirigée vers son objectif.

Cette photo est une représentation panoramique à 360° des alentours du point de prise de vue.

Les vues panoramiques à 360° son généralement constituées de plusieurs photos montées entre elles suivant leurs bords communs. Il faut donc plusieurs prises de vues et un travail de recomposition pour créer un panoramique sans miroir conique. De plus, les panoramiques reconstitués peuvent avoir des différences de luminosité, clarté, couleur et contraste selon l'exposition de chaque pose et le doigté du photographe.

On voit donc l'intérêt d'une prise de vue panoramique en une seule pose, seulement comment exploiter une anamorphose conique et la transformer en un panoramique normal ?

Des calculs mathématiques relativement compliqués (pour moi en tout cas) permettent la conversion d'un repère plan en repère conique et inversement. Cependant j'ai utilisé une technique personnelle, plus simple, en deux étapes, pour "redresser" une image conique.

Pour illustrer la transformation, utilisons cette image faussement conique :

 

Considérons que si cette image est une anamorphose conique, les cercles quelle contient sont en fait des lignes droites dans la réalité.

Il s'agit dont de "redresser" les cercles afin d'en faire des lignes, en "lisant" l'image via des tores de diamètre de plus en plus grand en partant du centre de l'image et en redressant chaque tore ainsi lu on obtient :

L'image est bien redressée mais on remarque que les lignes sont de longueur inégales d'une part et croissante d'autre part. En effet la résolution de l'image est croissante à partir du centre de l'image vers les bords. Ceci est du au fait que la surface de réflexion du miroir conique ayant créé chaque ligne augmente plus on s'éloigne de la pointe du cône.

Le bas de l'image présente une résolution trop faible pour être exploitable et le haut une distorsion trop forte. Le haut de l'image représente les "coins" de l'image conique hors une véritable image conique n'a pas de coins car c'est un tore.

 

Comment améliorer la lisibilité de l'image ?

On va restituer l'échelle de chaque tore de lecture à son maximum en étirant chaque ligne de l'image jusqu'au bord :

Pour gagner encore en lisibilité on ne tiendra pas compte du haut et du bas de l'image.

 

Voyons l'application de cette technique sur notre port de plaisance :

 

Anamorphose conique originelle.

 

Première étape, le redressement de l'anamorphose conique.

 

Deuxième étape, restitution d'une pseudo résolution uniforme de bas en haut de l'image.

 

Troisième étape, tronquage.

 

Même procédure appliquée sur l'anamorphose après rotation de 90°.

 

Même procédure appliquée sur l'anamorphose après une autre rotation de 90°

 

Commentaire :

- Vous avez noté la distorsion de l'image finale et la césure en son centre, ceci est du à ma méthode de lecture d'image point par point qui est rapide mais approximative et considérablement améliorable. (je soumet volontiers le problème à tout matheu intéressé, la qualité serait optimale si la résolution de lecture était telle que pour chaque x qu'il conviendrait de choisir, la valeur absolue de la différence entre y(x) et y(x+1) ne soit pas supérieure à 1, x et y étant les variables d'une équation de cercle)

- La conversion d'anamorphose conique est réalisée en quelques secondes par un script PHP/GD de moins de 35 lignes, PHP s'avère extrêmement souple et efficace en ce qui concerne le traitement d'image.