Dans ce quatrième travail personnel, nous effectuons des transformations projectives sur des images pour générer des panoramas. Dans un premier temps, nous effectuons des appariements manuels, mais dans un deuxième temps, nous implantons les algorithmes de Lowe pour effectuer les la détection des points.
J'utilise les fonctions calculerTransformation, calculerTranslation, calculerHomographie et calculerMosaique dans les fichiers main_pano1.m, main_pano2.m, main_pano3.m pour produire les résultats.
Pour le deuxième et troisième panorama, nous avons saisi les points manuellement et on peut les retrouver dans les fichiers sources de cette page web.
Les fonctions s'utilisent en chaine pour produire les résultats suivants.
Images demandées
Panorama 1
Panorama 2
Panorama 3
Remarquer qu'il y a un petit défaut de décalage causé par l'interpolation linéaire faite maison. Toutefois, les homographies ont été bien effectuée.
J'utilise la fonction caclulerCaracteristiques pour trouver des points d'intérêts. Ceux-ci sont directement utilisés dans la fonction calculerDescripteur qui permet de décrire les pixels avoisinants les points d'intérêts. Les descripteurs sont alors appariés dans calculerAppariement. Une fois cette opération faire, on tente de calculer la transformation entre une image et l'autre avec calculerRANSAC.
C'est à cette étape que le code s'arrête. J'ai eu de la difficulté à calculer la meilleure matrice de transformation projection H. Dans le code, il y a un indicateur où le code s'arrête.
Dans les trois autres sections, j'ai implanté le code de monsieur Lowe.
Appariement des descripteurs ensembles entre deux images différentes
J'ai effectué un graffiti sur un mur de parcours. Je n'ai apporté aucune modification au programme.
Par contre, j'ai aussi affiché sur une enseigne publicitaire. Cela demande à ce qu'on découpe le masque de l'enseigne par celui de l'affiche.
Graffiti sur le mur
Publicité sur une enseigne
Malgré mon échec à compléter le programme de Lowe, j'ai toutefois effectué toutes les étapes à l'exception du RANSAC.