Haben Sie zuerst ein neues "Stitching" -Modul gesehen, das in OpenCV 2.3 eingeführt wurde?
Es stellt eine Reihe von Bausteinen für das Zusammenfügen von Pipelines bereit, einschließlich Mischen und "Finden einer Überlappung" (z. B. Registrierung). Hier ist eine Dokumentation: http://docs.opencv.org/modules/stitching/doc/stitching.html und ein Beispiel für Stitching-Anwendung: stitching_detailed.cpp
Ich empfehle Ihnen, den Code dieser Probe zum besseren Verständnis der Details zu studieren.
Im Hinblick auf die Feststellung der Überlappung gibt es mehrere gemeinsame Ansätze in Computer Vision:
- optischen Flusses
- Vorlage passende
- Funktion
Für Ihren Fall passende ich den letzten empfehlen - Es funktioniert sehr gut auf den Fotos. Und dieser Ansatz ist bereits in OpenCV implementiert - erkunden Sie die OpenCv-Quelle und sehen Sie, wie die cv::detail::BestOf2NearestMatcher
funktioniert.
"Bildregistrierung" ist ein anderer Begriff aus der Computer Vision Welt, der nützlich sein könnte; Es bezieht sich auf den Prozess der Ausrichtung mehrerer überlappender Bilder. –
Ich frage mich wirklich, wie Sie Optical Flow hier benutzen würden ?! Optical Flow soll an einer Sequenz von Bildern arbeiten ... – CTZStef