Wenn Sie die findHomography
Funktion von OpenCV verwenden, um eine Homographie zwischen zwei Punktgruppen aus verschiedenen Bildern zu schätzen, erhalten Sie manchmal eine schlechte Homographie aufgrund von Ausreißern innerhalb Ihrer Eingabepunkte, selbst wenn Sie RANSAC oder LMEDS verwenden.Wie können Sie feststellen, ob eine Homographiematrix akzeptabel ist oder nicht?
// opencv java example:
Mat H = Calib3d.findHomography(src_points, dst_points, Calib3d.RANSAC, 10);
Wie können Sie feststellen, ob die resultierende 3x3-Homographiematrix akzeptabel ist oder nicht?
Ich habe eine Antwort hier in Stackoverflow und in Google gesucht und konnte es nicht finden.
fand ich diesen Artikel, aber es ist mir ein bisschen kryptisch:
"The geometric error for homographies"
Siehe Frage http://stackoverflow.com/questions/10972438/detecting-garbage-homographies-from-findhomography-in-opencv/10981249#10981249 –
Wenn Ihre Kamerabewegung begrenzt ist, könnten Sie versuchen, Ihre Homographie zu zerlegen und Testskala, Rotation und/oder Translationsparameter für drastische Werte. Andere Methode: Wenn Sie wissen, dass sich große Teile der Bilder überlappen sollen (oder die Einschränkung nehmen), können Sie die Überlappung nach dem Warpen berechnen und entscheiden, ob es sich um eine offensichtlich falsche Homographie handelt. Andere Methode: Wenn Sie RANSAC verwenden, können Sie aus der Nummer von inlier (und/oder dem Verhältnis inlier/total) entscheiden, ob die Homographie abgelehnt werden soll) – Micka
@Micka danke für Ihre Hilfe, ich habe bereits RANSAC benutzt, die Kamerabewegung ist nicht begrenzt und ich suchte nach Methoden, um Homographien (hauptsächlich mathematische) zu verwerfen, bevor ich in schwerere Berechnungen wie die Anwendung der Homographie und die Überprüfung auf Überlappung ging. –