220 likes | 341 Views
SUJETS SPÉCIAUX EN INFORMATIQUE I. PIF-6003. Corrections géométriques. Déformation des images Déformation des images radar Transformations géométriques Assignation des valeurs de niveaux de gris Corrections géométriques (OpenCV). Déformations géométriques des images. Image déformée.
E N D
SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003
Corrections géométriques • Déformation des images • Déformation des images radar • Transformations géométriques • Assignation des valeurs de niveaux de gris • Corrections géométriques (OpenCV)
Déformations géométriques des images Image déformée Image corrigée
Déformations géométriques des images Image déformée Image corrigée
Déformation des images radar FIGURE 6.24 [rf. SABINS, p. 209]
Transformations géométriques TRANSLATION ÉCHELLE INCLINAISON PERSPECTIVE ROTATION FIGURE 2-31 [rf. SCHOWENGERDT, p. 107]
Transformations géométriques Translation Rotation
Transformations géométriques Changement d’échelle Élongation
Transformations géométriques • Transformation multiples
Transformations géométrique • Comment faire pour déduire le modèle de déforma-tion de l’image idéale (non-déformée) ? • Quelle est la déformation subit par les pixels de l’image idéale ? • Étapes à suivre pour modéliser la déformation: • Choisir un ensemble de points de référence dans l’image idéale et pour chacun leur équivalent dans l’image déformée
Transformations géométrique • Étapes à suivre pour modéliser la déformation: • Faire une approximation d’ordre n des points de contrôle à l’aide d’une méthode de moindres carrés • Avec le modèle de déformation déduit, nous locali-sons chaque pixel de l’image idéale dans l’image déformée • Et, déduisons la valeur de luminance du pixel de l’image idéale à partir de celle déduite à la position correspondante dans l’image déformée
Assignation des niveaux de gris • Interpolation du type voisin le plus proche ["Nearest neighbor"] • Interpolation bilinéaire • Exemples d’assignation des niveaux de gris [rotations]
Interpolation du type voisin le plus proche ["Nearest neighbor"] Transformation spatiale (x,y) f(x,y) Affectation du niveau de gris
Interpolation bilinéaire f(1,0) f(1,1) f(x,y) f(0,0) 1,0 x,0 x x,y 0,0 1,1 y f(0,1) x,1 0,1 Figure 8-3 [rf. CASTLEMAN, p. 114]
– Résultat de la correction r11 CGEO .rast Correction géométrique r11.rast correctiongeo r11.rast r11CGEO.rast 1258 842 338 1180 3.617372e-5 ... cadastreNS4X4.tiff
Correction géométrique • Modèle de déformation: x’ = 3.617372e-5 y2 - 7.388483e-5 x2 - 7.460775e-6 xy - 0.06930322 y + 0.8548632 x + 21.974 y’ = 2.625691e-5 y2 - 4.338432e-6 x2 + 1.788196e-5 xy + 1.210034 y - 0.03385992 x - 415.5843 où x’,y’ sont les coordonnées des pixels dans l’image déformée et x,y celles de l’image corrigée (idéale).
Correction géométrique (OpenCV) • Modèle de déformation utilisé dans OpenCV pour corriger la distorsion radiale dans les images typique des caméras Lentille
Correction géométrique (OpenCV) • Modèle de déformation utilisé dans OpenCV pour corrigée la distorsion radiale dans les images x’ = x + x [k1 r2 + k2 r4] + [2p1 xy + p2 (r2 + 2x2)] y’ = y + y [k1 r2 + k2 r4] + [2p1 xy + p2 (r2 + 2y2)] où x’,y’ sont les coordonnées des pixels dans l’image déformée et x,y celles de l’image corrigée (idéale), r2 = x2 + y2. • La fonction cvUndistort2() permet de corriger la déformation géométrique d’une image en utilisant la matrice intrinsèque et les coefficients de distorsion calculés avec la fonction cvCalibrateCamera2().
Correction géométrique (OpenCV) • Exemple d’appel à cvUndistort2() (voir exemple mainCalibrationCAM.cpp)
Résumé • Corrections géométriques • Déformation des images radar • Transformations géométriques • Assignation des niveaux de gris • Corrections géométriques (OpenCV)