OpenCV - Bildstichn

8

Ich benutze den folgenden Code, um die Bilder einzufügen. Für ein Unbekanntes Grund für das Ergebnis ist Mist! Es scheint, dass die Homographiematrix falsch ist (oder falsch beeinflusst wird) weil das transformierte Bild wie ein "ausgebeuteter Stern" ist! Ich habe den Teil kommentiert, von dem ich vermute, dass er die Ursache des Problems ist aber ich kann es nicht erkennen. Jede Hilfe oder jeder Punkt wird geschätzt!

Schönen Tag noch, Ali

%Vor%     
Edi 16.05.2011, 13:12
quelle

3 Antworten

7

Das ist, was ich Ihnen vorschlagen möchte, in dieser Reihenfolge:

1) Verwenden Sie die Option CV_RANSAC für die Homographie. Siehe Ссылка

2) Probieren Sie andere Deskriptoren aus, insbesondere SIFT oder SURF, die mit OpenCV ausgeliefert werden. Für einige Bilder sind SCHNELLE oder KURZE Deskriptoren nicht ausreichend diskriminierend. EDIT (Aug '12): Die ORB-Deskriptoren, die auf BRIEF basieren, sind ziemlich gut und schnell!

3) Versuchen Sie, sich die Homography-Matrix anzuschauen (im Debug-Modus durchzugehen oder sie auszudrucken) und prüfen Sie, ob sie konsistent ist.

4) Wenn dir oben kein Hinweis bekannt ist, sieh dir die Matches an, die gebildet werden. Passt ein Punkt in einem Bild zu einer Anzahl von Punkten im anderen Bild? Wenn ja, sollte das Problem wieder bei den Deskriptoren oder dem Detektor liegen.

Meine Vermutung ist, dass es die Deskriptoren (also 1) oder 2) sind, die es beheben).

    
KMS 17.05.2011, 05:28
quelle
2

Wechseln Sie auch in BruteForceMatcher zu Hamming Abstand statt L1 Abstand. KURZE Deskriptoren sollen mit Hamming-Abstand verglichen werden.

    
Rahul Garg 16.06.2011 19:14
quelle
1

Ihre Homographie könnte aufgrund von falschen Übereinstimmungen berechnet werden und somit eine schlechte Zuordnung darstellen. Ich schlage vor, die Matrix durch zusätzliche Überprüfung der Interdependenz zwischen den Zeilen zu verschieben.

Sie können den folgenden Code verwenden:

%Vor%     
DanielHsH 19.05.2011 17:07
quelle