OpenCV标识识别

edw*_*win 2 c++ opencv image-recognition computer-vision

我被要求使用opencv识别图像中的徽标.讲师告诉我,我不需要进行徽标检测,只能识别徽标.我在c ++中使用opencv.我能知道最简单的方法吗?

Ps:计算机视觉中的新手.

Mik*_*iki 6

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

  • 如果您的徽标占据图像的90%,则不需要检测,因为您可能对颜色直方图很好.
  • 如果徽标与图像相比较小,则应"找到"徽标,以便将比较集中在图像上,而不是背景杂乱.
  • 同一张图片上可能有多个徽标?
  • 徽标始终完全可见?
  • 标志是僵硬的?或者可能会变形?(想想衬衫或小瓶子上的标志)

假设您有一个完整的刚性标识可供查找,最简单的方法是模板匹配.

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

其他更强大的方法需要在您的参考徽标上建立关键点星座,并在目标图像上匹配这些星座.见这里这里的一个例子.

最后,但并非最不重要的是,在Google上玩得开心!