Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenCV logo recognition

I was asked to recognize logo in an image using opencv. The lecturer told me that I don't have to do logo detection but logo recognition only. I am using opencv in c++. Can I know the easiest way to do it??

Ps: newbie in computer vision.

like image 475
edwin Avatar asked Nov 22 '25 11:11

edwin


1 Answers

It largely depends on your kind of images.

  • If your logo occupies say 90% of the image, you don't need detection, since you are probably good with color histograms.
  • If the logo is small compared to the image, you should "find" the logo, in order to focus your comparison on that and not on the background clutter.
  • There could be multiple logos on the same image?
  • The logo is always fully visible?
  • The logo is rigid? Or could be deformed? (think for example of a logo on a shirt or a small bottle)

Assuming that you have a single complete rigid logo to find, the simplest thing to try is template matching.

A more accurate approach is to match descriptors. You can also see a related topic on SO here

Other more robust approaches would require to build constellations of keypoints on your reference logo, and match those constellations on the target image.

Last, but not least, have fun on Google!

like image 169
Miki Avatar answered Nov 25 '25 02:11

Miki



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!