Tôi đang xử lý hình ảnh. Tôi muốn kết hợp các tính năng 2D và tôi đã thực hiện nhiều bài kiểm tra trên SURF, SIFT, ORB.
Làm cách nào để áp dụng RANSAC trên SURF/SIFT/ORB trong OpenCV?Cách áp dụng RANSAC trên kết quả phù hợp SURF, SIFT và ORB
5
A
Trả lời
23
OpenCV có chức năng cv::findHomography
có thể tùy chọn sử dụng RANSAC để tìm ma trận homography liên quan đến hai hình ảnh. Bạn có thể xem ví dụ về chức năng này trong hành động here.
Cụ thể các phần của mã bạn đang quan tâm là:
FlannBasedMatcher matcher;
std::vector<DMatch> matches;
matcher.match(descriptors_object, descriptors_scene, matches);
for(int i = 0; i < good_matches.size(); i++)
{
//-- Get the keypoints from the good matches
obj.push_back(keypoints_object[ good_matches[i].queryIdx ].pt);
scene.push_back(keypoints_scene[ good_matches[i].trainIdx ].pt);
}
Mat H = findHomography(obj, scene, CV_RANSAC);
Sau đó bạn có thể sử dụng chức năng cv::perspectiveTransform
để warp những hình ảnh theo ma trận homography.
Các tùy chọn khác cho cv::findHomography
ngoài CV_RANSAC
là 0
sử dụng mọi điểm và CV_LMEDS
sử dụng phương pháp Ít nhất trung bình. Bạn có thể tìm thêm thông tin trong tài liệu hiệu chuẩn máy ảnh OpenCV here.
Các vấn đề liên quan
- 1. Cách hiệu quả để phù hợp với mô tả SIFT
- 2. Phương trình phù hợp và kết quả phù hợp
- 3. Đang cố gắng kết hợp hai hình ảnh bằng sift trong OpenCv, nhưng có quá nhiều kết quả phù hợp
- 4. Kết quả LINQ khi không có kết quả phù hợp?
- 5. OpenCV Kết hợp SURF với mạng nơron
- 6. Boost C++ regex - cách nhận nhiều kết quả phù hợp
- 7. Phát hiện đối tượng trong ảnh bằng tính năng SIFT/SURF
- 8. Tỷ lệ phần trăm của các kết quả phù hợp sử dụng Levenshtein Khoảng cách phù hợp với
- 9. C# - không phù hợp toán kết quả hoạt động trên 32-bit và 64-bit
- 10. cách giới hạn các kết quả phù hợp trên perl bằng regex?
- 11. Kết quả không phù hợp với RichTextBox ScrollToCaret
- 12. Trích xuất các kết quả phù hợp từ php regex
- 13. Trả lại số kết quả phù hợp từ C# dictionary
- 14. php mysql phù hợp với không có kết quả
- 15. Sift Extraction - opencv
- 16. Hiểu cách sử dụng và áp dụng không hiệu quả
- 17. Mathematica: NExpectation vs Expectation - kết quả không phù hợp
- 18. ^từ^thay thế^trên tất cả các kết quả phù hợp trong Bash?
- 19. Lấy mẫu trên các trung tâm texel không đưa ra kết quả phù hợp, OpenGL, C++
- 20. Làm thế nào để sử dụng ruby gsub Regexp với nhiều kết quả phù hợp?
- 21. Sử dụng grep với cụm từ thông dụng để lọc ra các kết quả phù hợp
- 22. Làm cách nào để so sánh hai danh sách trong python và trả về kết quả phù hợp
- 23. Ransac cho spline fitting
- 24. Cách nhận các kết quả phù hợp trong iOS bằng cách sử dụng cụm từ thông dụng?
- 25. So sánh Danh sách và trả về các kết quả phù hợp trong C#
- 26. OpenCV - Đối sánh đối tượng bằng cách sử dụng các mô tả SURF và BruteForceMatcher
- 27. Sử dụng kết quả phù hợp để tìm chuỗi chỉ bằng bash
- 28. vị trí nginx regex - lớp ký tự và phạm vi kết quả phù hợp
- 29. XSLT: sử dụng nhiều hoặc phù hợp với mẫu để áp dụng các mẫu
- 30. Scala regexps: cách trả về các kết quả phù hợp dưới dạng mảng hoặc danh sách