2012-03-17 42 views
8

Tôi đang cố gắng triển khai trứng phục sinh trong ứng dụng dành cho thiết bị di động mà tôi đang thực hiện. Những quả trứng Phục sinh sẽ được kích hoạt khi một logo được phát hiện trong chế độ xem máy ảnh. Biểu tượng tôi đang cố gắng phát hiện là biểu tượng này: Halifax logo.Phát hiện biểu tượng bằng cách sử dụng OpenCV

Tôi không hoàn toàn chắc chắn cách tốt nhất để tiếp cận điều này là vì tôi khá mới đối với thị giác máy tính. Tôi hiện đang tìm các cạnh ngang bằng thuật toán Canny. Sau đó tôi tìm các đoạn thẳng bằng cách sử dụng biến đổi Hough xác suất. Kết quả của điều này có vẻ như sau (đường màu xanh đại diện cho phân khúc dòng phát hiện bởi Hough xác suất chuyển đổi):

halifax logo post detection

Bước tiếp theo tôi sẽ mất sẽ được xem xét cho một nhóm khoảng 24 dòng (phù hợp trong một hình chữ nhật gần như hình vuông), mỗi dòng sẽ có độ dài xấp xỉ bằng nhau. Tôi sẽ sử dụng hai tín hiệu này để biểu thị sự hiện diện tiềm năng của biểu trưng. Tôi nhận ra rằng đây có lẽ là một cách tiếp cận rất ngây thơ và sẽ hoan nghênh các đề xuất như thế nào để phát hiện tốt hơn logo này một cách đáng tin cậy hơn?

Cảm ơn

Trả lời

4

Bạn có thể muốn đi với SIFT sử dụng Rob Hess' SIFT Library. Nó đang sử dụng OpenCV và cũng khá nhanh. Tôi đoán rằng dễ dàng hơn cách hiện tại của bạn để tiếp cận việc phát hiện biểu tượng :)

Hãy thử tìm kiếm SURF, tuyên bố nhanh hơn & robuster hơn SIFT. Điều này Feature Detection tutorial sẽ giúp bạn.

+2

SIFT và SURF đều được cấp bằng sáng chế (mặc dù cho phép sử dụng phi thương mại miễn phí) vì vậy bạn sẽ cần giấy phép bằng sáng chế cho bất kỳ mục đích thương mại nào. – bleater

0

Tôi không chắc chắn liệu bạn có tìm thấy các tính năng như vậy trong biểu trưng để đi theo phương pháp SIFT/SURF hay không. Thay vào đó, bạn có thể thử đào tạo một trình phân loại tính năng giống Haar và sử dụng nó để phát hiện biểu tượng, giống như opencv làm cho phát hiện khuôn mặt.

2

Bạn có thể chỉ muốn sử dụng công nghệ của LogoGrab. Đó là tốt nhất hiện có và cung cấp tất cả các loại API (cả điện thoại di động và HTTP). http://www.logograb.com/technologyteam/

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