OpenCV-Filter-ORB-Übereinstimmungen

8

Ich verwende den ORB-Feature-Detektor, um mithilfe dieses Codes Übereinstimmungen zwischen zwei Bildern zu finden:

%Vor%

Mein Problem ist, dass ich keine Möglichkeit finde, die Übereinstimmungen zu filtern, so dass sie nur zusammenpassen, wenn sie ähnliche Positionen in den Fotos haben. Ich bekomme immer mehrere Übereinstimmungen für einen Schlüsselpunkt, auch wenn sie sehr weit entfernt sind.

Gibt es eine Möglichkeit, sie besser zu filtern?

    
Stefan Manciu 04.07.2014, 07:57
quelle

2 Antworten

6

Um bessere Ergebnisse zu erzielen, sollten Sie diese Filtermethoden in der angegebenen Reihenfolge verwenden.

  1. Führen Sie einen Abgleich in zwei Richtungen durch, d. h. für jeden Punkt im ersten Bild finde die beste Übereinstimmung im zweiten Bild und umgekehrt.

  2. Führen Sie den Verhältnis-Test (Verhältnis-Test der euklidischen Abstände) zwischen durch     Übereinstimmungen, um mehrdeutige Übereinstimmungen zu vermeiden.

  3. Führen Sie den RANSAC-Test durch: Es ist ein Modellanpassungsalgorithmus, der die besten Daten findet, die zum Modell passen und Ausreißer entfernen.
  4. Führen Sie Homographie durch: es ist ein Bildprojektionsalgorithmus.

Sie können alle Details der oben genannten Methoden in Kapitel 9 des Computer-Vision-Anwendungsprogrammier-Kochbuchs finden. Es enthält auch Beispielcode zum Implementieren dieser Filtertechniken. Es ist sehr einfach zu verstehen. (Hinweis: Der Code in diesem Buch ist in C ++, aber wenn Sie es einmal verstanden haben, kann er auch einfach in JAVA implementiert werden)

    
Darshan 04.07.2014, 08:48
quelle
1

Nach dem Lesen von Rober Langaniere Buch. Ich habe erfahren, dass es einen Weg gibt. Es ist Streichhölzer mit den weiteren Entfernungen zu entfernen. In Java ist es wie folgt

%Vor%     
zawhtut 04.10.2014 17:22
quelle

Tags und Links