Interpolation et recalage#
Comparaison de plusieurs types d’interpolation#
Comparez le résultat produit par une interpolation d’ordre 0 (plus proche voisin), d’ordre 1 (bilinéaire) et d’ordre 3 (bicubique) sur l’image echiquier.png. Pour cela, effectuer 9 rotations successives de 10° chacune avec
skimage.transform.rotateen prenant soin de transformer l’image en float avecskimage.util.img_as_float.
Comparaison de plusieurs transformations géométriques#
Sur l’image schtroumpf.jpg, appliquez les transformations suivantes avec
skimage.transform.warp:une translation de 100 pixels vers la droite et 50 pixels vers le bas,
une rotation de \(\pi/4\) radians,
la combinaison des deux transformations précédentes,
une réduction de la taille de l’image d’un facteur 0,7,
un cisaillement d’angle \(\pi/6\),
une homographie dont vous choisirez les paramètres.
La matrice de transformation peut être définie simplement avec les fonctions suivantes :
skimage.transform.EuclideanTransform: transformation rigide ou euclidienne (3 paramètres),skimage.transform.AffineTransform: transformation affine (6 paramètres),skimage.transform.ProjectiveTransform: homographie (9 paramètres).
Recalage#
L’objectif est d’effectuer le recalage de l’image irm2.png sur l’image irm1.png. On sait que l’image a subi une rotation autour du centre de l’image, en plus d’autre dégradations. Le critère de similarité est l’erreur quadratique moyenne (EQM) entre les images \(f_1\) et \(f_2\), toutes deux de taille \(M \times N\) :
Implémentez l’optimisation de l’EQM, avec une simple recherche exhaustive, pour déterminer le meilleur angle de rotation pour effectuer le recalage.