2012-01-17 25 views
5

Tôi cố gắng để sử dụng OpenCV để phù hợp với hình ảnh như thế này:OpenCV phù hợp với hình ảnh

img1 http://img233.imageshack.us/img233/9181/noiser.jpg img2 http://img849.imageshack.us/img849/8177/clearz.jpg

Và tôi cần phải tìm ra ngã tư tốt nhất của họ.

Tôi đã thử sử dụng SURFDetector và đối sánh bằng BruteforceMatcher, nhưng tìm thấy các trình mô tả không bằng nhau.

Hãy cho tôi biết cách chính xác để giải quyết vấn đề.

Trả lời

5

Bạn có xem xét ví dụ mã this không? Ở đây bạn có thể xem cách tìm một đối tượng bằng cách sử dụng các mô tả SURF. Đi tới chính() và kiểm tra từng bước mã. Bạn có thể thử nó với hình ảnh của bạn và nó sẽ làm việc. Các cách tiếp cận khác sử dụng SIFT and FAST detectors.

Chúc may mắn. Nếu bạn không nhận được kết quả tiếp tục cố gắng, lúc bắt đầu nó là khó khăn.

+1

Tôi nghĩ rằng việc sử dụng SIFT có thể mang lại kết quả tốt. Bạn có thể kiểm tra [câu trả lời cho câu hỏi khác] của tôi (http://stackoverflow.com/a/8644769/884412) để biết thêm thông tin về SIFT và liên kết đến triển khai SIFT – penelope

+1

Chắc chắn, tôi cũng sử dụng SIFT cho một số ứng dụng. –

+0

Tôi đã thử các ví dụ này, và một ví dụ khác từ "Learning OpenCV" và "OpenCV 2 Cookbook Program Programming Application Cookbook", nhưng tôi không thể tìm thấy các thông số tốt cho hình ảnh bên trái, cho đúng i tìm lưới và tất cả các điểm quan tâm. – Famos

2

Bạn có thể muốn áp dụng bộ lọc trung gian trước để loại bỏ nhiễu. Điều này có thể sẽ dẫn đến kết quả tốt hơn cho phù hợp, bởi vì hình ảnh bên trái là khá ồn ào.

Nó cũng sẽ làm mịn hình ảnh một chút, đó là tốt, bởi vì nó bỏ ra các chi tiết, và bạn đang tìm kiếm các cấu trúc lớn hơn.

Bạn sẽ phải thử các kích thước khác nhau của bộ lọc để có kết quả tốt nhất.

+0

Bây giờ tôi sử dụng PyrDown PyrUp và bộ lọc trung bình không mang lại lợi nhuận có lợi :) – Famos

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