Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Logo detection using OpenCV

I'm attempting to implement an easter egg in a mobile app I'm working on. These easter egg will be triggered when a logo is detected in the camera view. The logo I'm trying to detect is this one: Halifax logo.

I'm not quite sure what the best way to approach this is as I'm pretty new to computer vision. I'm currently finding horizontal edges using the Canny algorithm. I then find line segments using the probabilistic Hough transform. The output of this looks as follows (blue lines represent the line segments detected by the probabilistic Hough transform):

halifax logo post detection

The next step I was going to take would be to look for a group of around 24 lines (fitting within a nearly square rectangle), each line would have to be approximately the same length. I'd use these two signals to indicate the potential presence of the logo. I realise that this is probably a very naive approach and would welcome suggestions as to how to better detect this logo in a more reliable manner?

Thanks

like image 348
dbotha Avatar asked Mar 17 '12 09:03

dbotha


2 Answers

You may want to go with SIFT using Rob Hess' SIFT Library. It's using OpenCV and also pretty fast. I guess that easier than your current way of approaching the logo detection :)

Try also looking for SURF, which claims to be faster & robuster than SIFT. This Feature Detection tutorial will help you.

like image 189
dom Avatar answered Oct 22 '22 02:10

dom


You may just want to use LogoGrab's technology. It's the best out there and offers all sorts of APIs (both mobile and HTTP). http://www.logograb.com/technologyteam/

like image 27
Luca Boschin Avatar answered Oct 22 '22 02:10

Luca Boschin