2017-03-31 4 views
1

J'ai lu beaucoup de questions sur la correspondance d'une image avec un certain nombre d'images en utilisant SIFT et la correspondance Brute-Force comme this et this. Est-il possible de faire plusieurs types d'appariements? Ce que je voudrais faire est le suivant.Trouver l'image avec les meilleures correspondances à partir de plusieurs images pour SIFT BF-Match

  1. boucle à travers les images de la requête dans un répertoire
  2. pour chaque extrait d'image EIPD points-clés et les descripteurs
  3. faire une correspondance avec chaque train/image modèle (encore une fois avec EIPD)
  4. obtenir l'image modèle qui a la meilleure correspondance (par rapport à la distance euclidienne minimale par exemple?)
  5. utiliser cette meilleure image de modèle et calculer la transformation affine entre cette image de modèle et l'image de requête actuelle.

Jusqu'à présent, j'ai réussi jusqu'à l'étape 3 et bloqué à ce point. J'utilise Opencv 2.7.12 et python 2.7. Comme il n'y a pas de drawMatches dans cette version et donc j'utilise cette implémentation. https://stackoverflow.com/a/26227854/6677891

+0

vous pouvez exécuter RANSAC sur les matchs que vous obtenez du BF-Match, tester la validité de la matrice homographie de [ici] (http://stackoverflow.com/questions/14954220/comment-vérifier-si-obtenu-homographie-matrice-est-bon) ou [ici] (http://stackoverflow.com/questions/42505299/finding-if-two-images-are-similar/42515173# 42515173) et transformer. Bien sûr, Euclidean devrait aussi fonctionner. Je ne comprends pas pourquoi vous êtes coincé –

+0

@RickM. Oui, je pourrais le résoudre. Je vous remercie. – gaya

+0

Ma solution a-t-elle été utile? –

Répondre

0

Étape 1: Exécutez RANSAC sur les correspondances que vous obtenez de BF-Match.

Étape 2: vérifier la validité/bonté de la matrice homographie comme here

Étape 3: Si la matrice homographie est bonne, transform.

euclidienne Ofcourse devrait fonctionner aussi