TP2: On s'amuse en fréquence !

Sommaire
Partie 0 : Réchauffement
Partie 1 : Images hybrides
Partie 2 : Pile gaussienne et laplacienne
Partie 3 : Mélange multirésolutions

Partie 0 : Réchauffement

Dans cette partie on va accentuer les détails d'une image en utilisant la technique du "sharpening". On superpose à l'image original l'image filré par un filtre passe haut. L'image filtré par un filtre passe haut peut etre obtenue en soustrayant la moyenne de l'image. On utilise ici un filtre gaussien. (Sources 2 images)

$$ im_{filtered}=im - im_{gauss} $$ $$ im_{sharp}= mean(im, im_{filtered}) $$

Partie 1 : Images hybrides

Une image hybride est une image dont l'interprétation dépend de la distance entre l'image et l'observateur. On superpose une image à haute fréqeunce avec une image à basse fréquence. L'image haute fréquence sera visible de pret, tandis que l'image basse fréquence sera visible de loin.

$$ im_{LowPass} = im_{gauss}(s1) $$ $$ im_{HighPass} = im - im_{gauss}(s2) $$ $$ im_{Hybrid} = mean(im_{LowPass}(s1), im_{HighPass}(s2)) $$

La principale difficulté est de trouver les bonnes fréquences de coupure (s1, s2) et surtout de trouver des images semblables pour que l'effet fonctionne.






Sources dans l'ordre d'apparition (TP, TP, SteveJobs, BobMarley, Staline, Chaplin, CamilleCotin, TheNone, Arnold, Termininator )

La meilleur image hybride est pour moi la dernière. En effet le terminator apporte tous les details tandis que le personnage incarné par Arnold possède des formes simples facilement reconnaissable. De plus on à l'impression que l'image d'Arnold en basses fréquences crée l'illusion d'une réflection de lumière sur le terminator qu'en on regarde de près.


Analyse Fréquentielle :





Sur le premier spectre on observe déja beaucoup de hautes fréquences sur tous les axes d'attaque (traits jaunes) et après application du filtre passe haut l'effet est vraiment renforcé. L'ensemble de l'image filtré présente des hautes fréquence vraiment dans tous les sens.



Sur la première image on observe principalement 2 axes d'attaque (horzontal et vertical). Après application du filtre ces 2 axes sont renforcés et très diffus confirmant l'effet désiré : une image avec des formes géométriques étendus et facilement reconnaissable.


Le spectre de l'image hybride possède les axes obliques du spectre du terminator auquel on a additionné les axes verticales et horizontales du spectre de Arnold. Ainsi on a créé une image avec un contenu fréquentiel de 2 images différentes. En s'eloignant de celle-ci, les lignes obliques moins intenses vont disparaitre aux yeux de l'observateur, il ne restera que les lignes horizontales et verticales plus intense, correspondant à l'image d'Arnold.

Partie 2 : Pile gaussienne et laplacienne

On va implanter une pile gaussienne et laplacienne qui va nous servir pour la partie 3. Pour une pile gaussienne on va appliquer un filtre gaussien avec une fréquence de coupure (s) multiplié par 2 à chaque itération. De cette façon on obtient comme une pyramide d'image qui aurait était sous echantillonée de la moitier de l'image originale a chaque itération. La pile laplacienne est obtenue à partir d'un filtre gaussien auquel on soustrait le résultat précédent.





Cette métohode permet de découper le signal de l'image en bandes de fréquence.

Partie 3:Mélange multirésolutions


Dans cette partie on va se servir des piles gaussiennes et laplaciennes pour créer le mélange de 2 images. Voici comment fonctionne l'algorithme de mélange multirésolution :

1/ On choisit le niveaux des piles (Level)
2/ On crée les piles gaussiennes GA, GB et Gmask des images A et B et du mask (GA = GaussStack(A, level))
3/ On en déduit les piles laplaciennes des images A et B (LA = LaplFromGauss(GA)))
4/ On fusionne les piles LA et LB à l'aide du mask Gmask (LC = StackFusion(LA,LB,Gmask)))
$$ LC(m,n,level) = Gmask(m,n,level)*LA(m,n,level) + (1-Gmask(m,n,level))*LB(m,n,level) $$ 5/ On superpose les niveaux de la pile LC (Img = meanStack(LC)))

Voici 5 résultats interessants en couleur (les 2 derniers sont composés avec mes photos) :






















Sources dans l'ordre d'apparition (TP, TP, Femme, LizardEye, Homme, Aragorn, )

Remarque : j'ai réglé le niveau des piles de 6 à 8 pour obtenir ces résultats. J'ai eu un peu de mal à conserver les couleurs d'origine lors de la reconstruction. J'ai appliqué des coéfficients multiplicateur pour ajuster les canals de couleurs. Les résultats obtenus sont plutôt bon pour un temps de calcul plutot faible ce qui montre l'efficassité du mélange multirésolution.

Detail du découpage en bandes de fréquence des piles laplaciennes pour l'image 3 (5 niveaux):