La technique utilisée est d'isoler les hautes fréquences pour les amplifiés sur l'image de base. Pour isoler les hautes fréquences, on peut soustraire l'image de base par la même image ou on applique un filtre gaussien. Par la suite, le résultat peut être additionné à l'image de base en appliquant un facteur pour ajuster l'accentuation.
Résultats | ||
---|---|---|
Code: python part0.py img/Albert_Einstein.png 80 |
||
Avant | Après | |
![]() |
![]() |
|
Code: python part0.py img/Marilyn_Monroe.png 80 |
||
![]() |
![]() |
On remarque que la couleur appliquée seulement sur les autres fréquences augmente permet de mieux voir la silhouette en haut fréquence, mais la couleur disparaît quand on regarde l'image plus petite.
Analyse fréquentielle | |
---|---|
Image | FFT |
python part1.py img/shiba/a_shiba.jpg img/shiba/b_pug.jpg -n |
|
![]() Original a |
![]() |
![]() Original b |
![]() |
![]() haute fréquence |
![]() |
![]() Basse fréquence |
![]() |
![]() Résultat |
![]() |
Pour les images suivantes, la première ligne est la pile gaussienne et la seconde est la pile laplacienne. Dans le cas de la pile laplacienne, la dernière image est la même que celle de la pile gaussienne. De plus, les images de la pile gaussienne sont visualisées sur un seul canal et la fonction skimage.exposure.equalize_hist
est utilisée. Ceci s'applique seulement à l'affichage est permet de mieux visualiser.
python part2.py img/lincoln.jpg 5
python part2.py img/shiba.jpg 5
L'approche utilisée est de générer une pile laplacienne pour les deux images et une pile gaussienne pour le masque. Par la suite, la pile du masque est multipliée aux piles des images. Pour finir, les deux piles sont rapportées sur une seule image puis additionnées ensemble pour donner une seule image.
La figure suivante illustre cette approche où les piles laplaciennes ont été multipliées par la pile gaussienne du masque:
Voici l'approche utilisée pour réaliser le transfert de style:
Source : SIGGRAPH 2014
Seulement le transfert de style a été implémenté et la partie pour aligner les visages et les différents masques a été ignorée.
Entrée | Exemple | Mon résultat | SIGGRAPH 2014 (Code Matlab de référence) |
---|---|---|---|
python style_transfert.py img/style_transfert/flickr2_0.png img/style_transfert/kelco_13.png -g |
|||
![]() |
![]() |
![]() |
![]() |
python style_transfert.py img/style_transfert/flickr2_0.png img/style_transfert/martin_0.png |
|||
![]() |
![]() |
![]() |
![]() |
python style_transfert.py img/style_transfert/flickr2_1.png img/style_transfert/kelco_17.png -g |
|||
![]() |
![]() |
![]() |
![]() |
python style_transfert.py img/trump/* -g |
|||
![]() |
![]() |
![]() |
Les résultats précédents montrent que l'alignement des visages et les masques donnent une meilleure apparence finale. Cependant, on obtient de bons résultats quand même.