2012-05-28 34 views
7

Tôi mới sử dụng OpenCV. Tôi đã có mẫu phát hiện Surf hoạt động. Bây giờ tôi muốn đặt một mô hình 3D trên hình ảnh được phát hiện.Cách tìm Ma trận Chiếu 3D trong Phát hiện Lướt sóng

Tôi làm cách nào để tìm ma trận Chiếu 3D?

+1

giải pháp có thể: http://urbanar.blogspot.in/2011/04/from-homography-to-opengl-modelview.html –

+2

Vấn đề là quá phức tạp cho câu hỏi đơn giản đó. Bạn có nghĩa là Homography. Bạn phải vượt qua các điểm chính được phát hiện bằng cách lướt tới hàm cvFindHomography –

Trả lời

5

Tôi đoán bạn đang nói về thực tế Augment khi bạn nói rằng bạn muốn đặt một mô hình 3D trên hình ảnh được phát hiện (trong khung máy ảnh?). Chìa khóa của vấn đề là luôn luôn phát hiện ít nhất 4 điểm phù hợp với 4 "điểm chính" khác trong điểm đánh dấu của chúng tôi. Sau đó, giải một số phương trình, chúng ta sẽ nhận được homography của chúng ta, điều này sẽ cho phép chúng ta dự đoán bất kỳ điểm nào.

Trong OpenCV có một chức năng thực hiện nhiệm vụ này: cvFindHomography

Bạn chỉ cần các cặp các trận đấu, chọn một phương pháp (RANSAC, ví dụ) và bạn sẽ nhận được Homography.

Sau đó, bạn có thể trình chiếu các điểm như giải thích here:

+1

Tôi đã sử dụng cvFindHomography để chiếu hình vuông thử nghiệm lên ảnh và sau đó gọi là resolvePnP để tính toán ma trận modelview. –

Các vấn đề liên quan