android - OpenCV 标志检测 - 使用什么?

标签 android opencv feature-detection object-recognition haar-classifier

我想创建一个用于 Logo 检测的 Android 应用程序。我想问你哪种方法会更好:

  1. 使用特征检测器和提取器,然后使用 findHomography();

    1.1 我应该使用哪种检测器/提取器?是否有必要使用 SURF 或其他类似 ORB 的东西也可以提供很好的准确性?我问是因为 SURF 是非自由模块的一部分。

  2. 训练 Haar 分类器。

还有别的办法吗? 如果您有答案,请解释(非必需)我为什么要使用您的方法。 谢谢!

最佳答案

我不确定你指的是单个 Logo 还是多个 Logo ,很大程度上取决于 Logo 的外观,但对于单个 Logo ,我会使用特征检测器描述符匹配 (DDM) 和 RANSAC 的单应计算,以及多个 Logo DDM 和一个词袋模型。根据我的经验,使用 SIFT 或 SURF 会比使用 ORB 获得更好的结果,但 ORB 通常就足够了(同样,我不确定您的采集条件是什么)并且它的速度无疑是一个优势。 Haar 可能会起作用,但请记住,对于旋转/缩放的 Logo ,您必须训练多个级联或向分类器呈现您要搜索的场景的多个旋转 View 。

关于android - OpenCV 标志检测 - 使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28749445/

相关文章:

android - 使用 OpenCV 检测账单

opencv - 在 OpenCV 中实现词汇树

java - 比较小时和分钟

python - 如何从 dlib.simple_object_detector 获得置信度

java - 我无法导入 com.itextpdf.text.Document 类

python - 了解图像中是否有任何像素为白色的有效方法?

opencv - 检测图像中线条的好方法?

android - BoofCV 多边形绘图等效于 Android

android - Xamarin 是否支持 Xamarin Android 绑定(bind)库中的 Kotlin 协程?

android - 是否可以在旧版本上使用 Android 4 功能?