Khi sử dụng chức năng findHomography
của OpenCV để ước tính một homography giữa hai tập hợp điểm, từ các hình ảnh khác nhau, đôi khi bạn sẽ nhận được một homography xấu do ngoại lệ trong các điểm đầu vào của bạn, ngay cả khi bạn sử dụng RANSAC hoặc LMEDS.Làm cách nào để biết ma trận homography có được chấp nhận hay không?
// opencv java example:
Mat H = Calib3d.findHomography(src_points, dst_points, Calib3d.RANSAC, 10);
Làm thế nào để bạn biết liệu ma trận đồng bộ 3x3 có được chấp nhận hay không?
Tôi đã tìm kiếm câu trả lời cho điều này tại đây trong Stackoverflow và trong Google và không thể tìm thấy nó.
tôi tìm thấy bài viết này, nhưng nó là một chút khó hiểu với tôi:
"The geometric error for homographies"
Xem câu hỏi http://stackoverflow.com/questions/10972438/detecting-garbage-homographies-from-findhomography-in-opencv/10981249#10981249 –
nếu chuyển động của máy ảnh bị giới hạn, bạn có thể cố gắng phân tích tính đồng nhất và kiểm tra quy mô, luân chuyển và/hoặc các thông số dịch cho các giá trị drastical. Phương pháp khác: Nếu bạn biết (hoặc lấy ràng buộc) rằng các phần lớn của hình ảnh sẽ chồng lên nhau, bạn có thể tính toán sự chồng chéo sau khi cong vênh và quyết định xem đó có phải là một bản sao hoàn toàn sai không. Phương pháp khác: nếu bạn sử dụng RANSAC bạn có thể quyết định số lượng inlier (và/hoặc tỷ lệ inlier/total) cho dù homography có bị từ chối không) – Micka
@Micka cảm ơn sự giúp đỡ của bạn, tôi đã sử dụng RANSAC, không giới hạn và tôi đang tìm kiếm các phương pháp để loại bỏ homographies (chủ yếu là toán học) trước khi đi vào tính toán nặng hơn như áp dụng homography và kiểm tra chồng chéo. –