2012-08-06 6 views
6

Ich stolperte kürzlich über eine SIFT Implementierung für C#. Ich dachte, es würde viel Spaß machen, damit herumzuspielen, also habe ich das gemacht.So verwenden Sie SIFT für Bildvergleich

Die Implementierung generiert eine Reihe von "Interessenpunkten" für ein bestimmtes Bild. Wie würde ich diese Informationen verwenden, um zwei Bilder zu vergleichen?

Was ich bin, ist eine einzige "Wert der Ähnlichkeit". Kann das aus den zwei interessierenden Punkten der beiden Bilder erzeugt werden?

Antwort

5

Sie müssen SIFT auf beiden Bildern ausführen, damit Sie in beiden Bildern interessante Punkte erhalten (nennen wir sie Keypoints).

Danach müssen Sie Übereinstimmungen zwischen den Schlüsselpunkten in beiden Bildern finden. Es gibt Algorithmen, die zu diesem Zweck in OpenCV implementiert sind.

Der Wert der Ähnlichkeit kann aus der Anzahl der Übereinstimmungen berechnet werden. Wenn Sie mehr als 4 Punkte erhalten, können Sie davon ausgehen, dass die Bilder identisch sind, und Sie können auch die relative Drehung zwischen ihnen berechnen.

0

Sie können die Anzahl der Übereinstimmungen als Ähnlichkeitsmaß verwenden.