gpt4 book ai didi

android - 用 OpenCV 识别的完美对象

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:02 26 4
gpt4 key购买 nike

我有一个应用程序,我想一次跟踪图片中相当小的 2 个对象。此应用程序应在 Android 和 iPhone 上运行,因此该算法应该是高效的。

对于我的客户来说,如果我们提供一些模式以及附加到要跟踪的对象的软件以获得易于识别的目标,那就太好了。

这意味着我可以自己编一个图案。由于我对图像处理还不是很了解,所以我不知道图片中哪些物体最容易识别,即使它们很小。颜色也是可能的,尽管由于产生的开销而不希望单独处理多个平面。

多谢指教!!最好的,

吉他流

最佳答案

如果我没弄错,你的对象应该:

  1. 可在 A4 纸上打印
  2. 可在 4 米内识别
  3. 旋转不变性不是那么重要(我假设用户会将手机 +/- 直立)

我建议打印一个大棋盘并结合使用颜色匹配和角点检测。尝试不同的组合,看看在不同距离下哪种组合更快、更稳健。

颜色:如果您只想在一个 channel 上工作,您可以打印红色/绿色/蓝色*,然后只在相应的 channel 上工作。这将已经过滤很多并“免费”增加对比度。 否则,根据我的经验,直方图反投影非常快。参见 here .

此外,假设您只有 4 个 RGB+黑色正方形(见图片),很容易获得所有红色轮廓,然后检查它是否具有正确的相邻颜色:右侧有一 block 蓝色和一个它下面的一片绿色,面积大致相同。仅这一点就足够稳健了,相当于在 1 个 channel 上工作,因为对于每个步骤,您只访问一个特定 channel (搜索红色轮廓,蓝色勾选右侧,绿色勾选下方)。

RGB squares

如果您收到大量误报,则可以使用角落来过滤您的命中。在示例图像中,您已经有 9 个角,如果您分开 channel ,实际上甚至更多,如果这还不够,您可以制作一个带有多个正方形的真正棋盘,以便拥有更多角。检查 ROI 中检测到多少个角点可能就足够了,以拒绝误报,否则您还可以检查检测到的角点在 x 和 y 方向上的间距是否均匀(即形成网格)。

Corners:检测角点已经有了很大的探索,这里有几种方法。我不知道每一个的效率如何,但它们足够快,并且在你根据颜色减少 ROI 之后,这应该不是问题。也许最简单的是简单地用十字线腐 eclipse /扩张来找到角落。参见 here .您需要首先对图像进行阈值处理以创建二进制映射,可能基于上面提到的颜色。Harris检测器等其他角点检测器很好documented .

哦,我不推荐使用 Haar 分类器。似乎不必要地复杂而且速度也不是那么快(尽管对于复杂对象非常稳健:即如果您不能使用自己的模式),更不用说大量的训练工作了。

关于android - 用 OpenCV 识别的完美对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10086380/

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