OpenCV标识识别 [英] OpenCV logo recognition

查看:844
本文介绍了OpenCV标识识别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我被要求使用opencv识别图像中的徽标。讲师告诉我,我不必做标识检测,但标识识别。我在c ++中使用opencv。我可以知道最简单的方法吗?



Ps:计算机视觉新手。

解决方案

这在很大程度上取决于你的图像类型。




  • 如果您的徽标占据图片的90%,则不需要检测,因为您可能对颜色直方图感兴趣。

  • 如果标志与图片相比较小,您应该找到标志,以便将焦点对比,而不是背景杂乱。

  • 同一张图片上可以有多个标志?

  • 标志总是完全可见?

  • 标志是刚性的?还是可能变形? (例如在衬衫或小瓶子上的标志)



假设你有一个完整的刚性标志,最简单的办法是模板匹配。 p>

更准确的方法是匹配描述符
您还可以在SO上此处查看相关主题



其他更健壮的方法将需要在您的参考标志上构建关键点的星座,并匹配目标图像上的那些星座。请参见此处这里为例。



Last ,但同样重要的是,在Google上玩得开心!


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.

解决方案

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. See here and here for an example.

Last, but not least, have fun on Google!

这篇关于OpenCV标识识别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆