Ich entwickle eine Anwendung, in der ich SIFT + RANSAC und Homography benutze, um ein Objekt zu finden (OpenCV C++, Java). Das Problem, mit dem ich konfrontiert bin, ist, dass RANSAC, wo es viele Ausreißer gibt, schlecht abschneidet.SIFT Übereinstimmungen und Anerkennung?
Aus diesem Grund möchte ich versuchen, was der Autor von SIFT sagte, ziemlich gut zu sein: Voting.
ich gelesen habe, dass wir in einem 4-Dimension Merkmalsraum, in dem die vier Dimensionen stimmen sollten:
- Ort [x, y] (jemand sagt traslation)
- Maßstab
- Orientierung
Während mit opencv ist einfach, das Spiel scale
und orientation
mit bekommen:
cv::Keypoints.octave
cv::Keypoints.angle
Ich habe schwer zu verstehen, wie ich den Standort berechnen kann.
Ich habe ein interesting slide wo mit nur one match
wir sind in der Lage zu zeichnen einen Begrenzungsrahmen gefunden:
Aber ich weiß nicht bekommen, wie ich die Zeichen-Box mit nur einem Spiel ziehen konnte. Irgendeine Hilfe?
Ich habe die Antwort bearbeitet. – Dima
Mit einer Übereinstimmung brauchen Sie die Hough-Transformation nicht. Sie nehmen den Unterschied in x und y (Translation), den Unterschied in der Orientierung (Rotation) und das Verhältnis der Skalen (Skala). Dann legst du diese in eine Matrix. – Dima