OpenCV logo recognition(OpenCV 标志识别)
问题描述
我被要求使用 opencv 识别图像中的徽标.讲师告诉我,我不需要做标志检测,只做标志识别.我在 C++ 中使用 opencv.我能知道最简单的方法吗?
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:计算机视觉新手.
Ps: newbie in computer vision.
推荐答案
这在很大程度上取决于您的图像类型.
It largely depends on your kind of images.
- 如果您的徽标占图像的 90%,则您不需要检测,因为您可能擅长使用颜色直方图.
- 如果徽标与图像相比较小,您应该找到"徽标,以便将您的比较重点放在该徽标上,而不是背景混乱上.
- 同一张图片上可以有多个徽标吗?
- 徽标始终完全可见?
- 标志是僵硬的?还是会变形?(例如衬衫或小瓶子上的徽标)
假设您要找到一个完整的刚性徽标,最简单的尝试是模板匹配.
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.
最后一点,在 Google 上玩得开心!
Last, but not least, have fun on Google!
这篇关于OpenCV 标志识别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:OpenCV 标志识别
基础教程推荐
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- C++,'if' 表达式中的变量声明 2021-01-01
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- 设计字符串本地化的最佳方法 2022-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17