gpt4 book ai didi

java - Android 上使用 OpenCV 在实时相机预览中进行实时 Logo 检测

转载 作者:行者123 更新时间:2023-12-02 02:38:07 25 4
gpt4 key购买 nike

我是计算机视觉新手,但我正在尝试编写一个 Android 应用程序来执行以下操作:

获取实时相机预览并尝试检测其中的一个 Logo (我的资源中有该 Logo )。实时。如果找到,在 Logo 周围画一个矩形。如果没有匹配,则不绘制矩形。

我已经尝试了一些方法,包括使用 ORB 进行模板匹配和特征检测。

为什么这不起作用:

模板匹配:缩放和旋转问题。我尝试了它的多尺度变体,但是a)性能非常糟糕,b)当然总是显示矩形以尝试搜索图像。无法在代码中实际确认是否找到 Logo 。

ORB特征检测:速度也很慢(5-6 fps),但效果还不错。另一个问题是我也无法确定 Logo 是否在图片中。即使 Logo 不在图片中,ORB 也会找到随机匹配项。

就像我说的,我对此很陌生。我将不胜感激有关实现这一目标的最佳方法的帮助:

  • 确认图片A(约200x200像素)是否在相机图片(约600x600像素)的ROI内。

  • 每帧花费的时间不应超过 50 毫秒。我不知道这是否可能。因此,如果执行此操作的正确方法需要比这更长的时间,我只会在单独的线程中完成工作,并且仅每隔五个相机帧左右进行分析。

希望得到有关如何实现这一目标的任何提示或代码示例。谢谢!

最佳答案

对于 Logo 检测,我强烈建议使用 OpenCV HaarClassifier。从一组 Logo 图像或一个具有许多变形的 Logo 图像中生成训练样本很容易。

如果您可以使用一些规则,例如要检测的 Logo 的最小和最大尺寸,以及图像上可能出现的区域,您可以以比您提到的 ORB 更快的速度运行检测器。

关于java - Android 上使用 OpenCV 在实时相机预览中进行实时 Logo 检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45943914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com