Tìm đồng xu trong ảnh

Bài này viết theo câu hỏi của 1 bạn trong group https://www.facebook.com/groups/thigiacmaytinh/. Sau khi thử nghiệm SURF thấy kết quả tương đối tốt nên mình viết bài này. Tìm đồng xu trong ảnh giống như các phương pháp tìm vật thể 2D khác như logo.



Phân tích yêu cầu

coin

Đây là bộ ảnh của 1 bạn đang học ở châu Âu gửi cho mình. Trong đó gồm nhiều loại khác nhau, góc xoay khác nhau, lại có kích cỡ và màu sắc khác nhau. Đặc biệt cùng 1 hình dạng nhưng lại có màu sắc khác nhau. Do đó loại bỏ phương án tìm theo kích cỡ và màu sắc.

Đồng xu trong này chỉ xoay tròn nên vẫn là vật thể 2D, do đó không cần sử dụng đến Cascade. Các phương pháp như SURF, SIFT cũng đủ để tìm kiếm.

Trong trường hợp có 2 đồng xu trong ảnh, hoặc đồng xu giống nhau sẽ làm sai lệch. Do đó nên tách riêng từng đồng xu để tìm bằng Floodfill vì background màu trắng

Kết quả tìm kiếm
Screenshot 2018-09-30 12.20.00

Code

Thuật toán này nhận 2 tham số: ảnh cần tìm & ảnh chứa đối tượng. Sau khi tìm sẽ vẽ keypoints và vị trí của đối tượng cần tìm.

Download full source code (GitHub)
Các bạn chạy Detection2D.sln để xem kết quả

Download bộ ảnh đồng xu

Leave a Reply