Fichier pincipal: main_sharpening.m
Fonction utilisée: im_sharp = im + alpha*(im-imgaussfilt(im, sigma));
Source: Albert_Einstein.png | Source: sharpening-Albert_Einstein.jpg |
Source: Marilyn_Monroe.png | Source: sharpening-Marilyn_Monroe.jpg |
Fichiers pincipaux: main_hybrid.m et hybridImage.m
les fréquences de coupure sont calculées par: \sigma = 1/(2*\pi*f_{coupure})
Cliquez sur l'image pour aller vers la source de celle-ci.
Illustration détaillée de l'analyse fréquentielle pour l'image "cat_racoon.jpg"
Fichiers pincipaux: main_stack.m, gauss_stack.m et laplace_stack.m
Pile gaussienne |
Pile Laplacienne |
Pile gaussienne |
Pile Laplacienne |
Fichiers pincipaux: main_multiresolution.m et imblend.m
Afin de réaliser le mélange multirésolution, un masque est défini. Ensuite, la pile laplacienne des deux images est calculé en plus de la pile gaussienne du masque. Finalement, on construit la pile laplacienne de l'image hybride avec la formule: LS_i = LA_i*GR_i + (1-GR_i)*LB_i, ou Lx est la pile laplacienne de l'image x et GR la pile gaussienne du masque. Pour reconstruire l'image hybride, on somme sa pile laplacienne (En assumant que la derniere images de la pile laplacienne est la derniere image de la pile gaussienne de l'image.
Afin d'obtenir les images en couleur, le même algorithme est appliqué sur chacun des canaux de l'image (R,G,B). De plus, afin d'aider à rendre le résultat plus réaliste, la saturation des images est ajusté avec un gain.
image A | image B | masque | image multirésolution |
image A | image B | masque | image multirésolution |
Afin de réaliser un alignement convenable des deux images, une version découpée a été réalisé. Ainsi le mixage est plus réaliste. Afin de tenter d'avoir une transition moins rectiligne, un masque en zigzag a été réalisé. Par contre, il est possible de voir le masque dans l'image finale.
image A | image B | masque | image multirésolution |
Pour cette image, la fonction align_image a été employé afin de bien placé la figure de Donald sur l'épi de mais. Ainsi, une rotation a été effectué sur la figure afin de l'aligner sur l'épi. Afin de reduire la transition, il serait possible de modifier la couleur dans l'espace HSV.
image A | image B | masque | image multirésolution |
L'image finale ne semble pas très convaincante. Afin d'aider à régler ce problème, la saturation de l'image de tour Eiffel a été reduit de moitié. Il est quand meme possible de voir le ciel bleu foncé sur l'image finale. De plus, le masque est un peu plus petit que la tour Eiffel afin de limiter l'inclusion du bleu foncé.
image A | image B | masque | image multirésolution |
Afin de donner un résultat plus réaliste, la saturation du visage à été diminuée. L'allignement a été effectué manuellement dans un caneva plus grand ce qui explique les bordures blanches. La forme du visage ne convient pas parfaitement, mais il serait possible d'aplliquer une transformation affine pour régler le problème.
image A | image B | masque | image multirésolution |
L'allignement des yeux a été fait à l'aide de la fonction allign_image. Ceci a beacoup simplifié le processus. Le masque tente de contenir les lunettes le plus possible, mais elles sont encore visibles dans l'image finale. Le résultat donne l'effet d'un bandeau sur le visage. Afin de réduire cette effet, il serait possible de modifier les couleurs du l'image de chat avec de les rendre plus beige, mais de conserver la teinte des yeux avec un autre masque.
Illustration détaillée du procédé