Bonjour,

Dans le cadre d'un projet, je dois pouvoir faire "matcher" des images (niveaux de gris).

Le but est (dans une interface utilisateur) charger trois image, de les aligner au mieux et d'obtenir une sorte de score (ou d'erreur) permettant d'avoir une donnée objective sur la qualité du matching.

Les trois images représentent la même chose, mais ne sont pas identiques (Ces images représentent en quelque sorte des croissants de lune de différentes épaisseurs et dont la forme générale peu légèrement varier ainsi que différentes formes pouvant varier légèrement dans leur position et forme).

Actuellement j'effectue un pré-alignage, avant ICP, assez simple de la manière suivante :
Manuel :
Translation-Rotation

Automatique:
1. Alignement des centres de masse
2. Légères rotations et translations (intervalles spécifiés)
3. Recherche du meilleur alignement avec la fonction corr2.

J'utilise ensuite un algorithme ICP (Téléchargé sur MathWorks). Les résultats sont assez prometteurs, malheureusement parfois l'alignement n'est pas optimal (Minimum local ?).

J'ai regardé du côté de Image Processing Toolbox > Image Registration, mais cela ne semble pas s'appliquer à mon cas.

Existerait-il une manière générale plus performante permettant d'effectuer un tel alignement en diminuant au maximum les actions de l'utilisateur (L'idéal serait entièrement automatique) ?
Avez-vous une idée d'un autre algorithme que l'ICP pouvant effectuer un tel travail ?

Je précise que je suis débutant en Matlab, et que je suis ni mathématicien, ni informaticien.

J'espère que j'ai été assez clair. Si ce n'est pas le cas, je peux compléter les informations données.

Merci d'avance.