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%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?
Um bessere Ergebnisse zu erzielen, sollten Sie diese Filtermethoden in der angegebenen Reihenfolge verwenden.
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.
Führen Sie den Verhältnis-Test (Verhältnis-Test der euklidischen Abstände) zwischen durch Übereinstimmungen, um mehrdeutige Übereinstimmungen zu vermeiden.
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)
Tags und Links java opencv feature-detection orb