【问题标题】:iOS Camera Color Recognition in Real Time: Tracking a BalliOS 相机实时颜色识别:跟踪球
【发布时间】:2013-04-12 21:14:10
【问题描述】:

我一直在寻找并知道人们能够使用核心图像和 openGL 跟踪面部。但是,我不确定从哪里开始使用 iOS 相机跟踪彩球。

一旦我有机会跟踪球。我希望创造一些可以检测的东西。当球改变方向时。

对不起,我没有源代码,但我不确定从哪里开始。

【问题讨论】:

  • 从捕获实时视频流开始。一旦你有了它,看看你是否可以读取各个帧。在那之后,事情变得有趣了。

标签: ios opengl-es camera real-time motion-detection


【解决方案1】:

关键点是图像预处理和过滤。您可以使用 Camera API-s 从摄像头获取视频流。从中拍摄快照照片,然后您应该在其上使用高斯模糊(空间增强),然后使用亮度平均阈值过滤器(制作黑白图像)。之后,形态学预处理应该是明智的(打开、关闭运算符),以隐藏小噪音。然后是边缘检测算法(例如 Prewitt 算子)。在这些过程之后,只剩下边缘,你的球应该是一个圆圈(当录制环境理想时)之后你可以使用霍夫变换找到球的中心。记录下球的位置,下一帧可以处理图片的一小部分(仅限球周围)。

其他关键字可能是:斑点检测

Brad Larsons 是一个用于图像处理的快速库(在 GPU 上使用 openGL):GPUImage library https://github.com/BradLarson/GPUImage

它实现了所有需要的过滤器(霍夫变换除外)

【讨论】:

  • 为了补充 Peteee24 在这里所说的内容,上面链接框架中的 ColorObjectTracking 示例正是您想要的。您点击并拖动以识别要跟踪的颜色和该颜色的阈值大小,然后应用程序将找到包含该颜色的像素的质心,并从实时摄像机源中跟踪它。它不像 Peteee24 描述的过程那么健壮,但它适用于简单的彩色球,正如我在这里展示的那样:sunsetlakesoftware.com/2010/10/22/…
【解决方案2】:

跟踪过程可以定义如下:

  1. 具有具有给定视觉特征(图像特征)的对象的初始坐标和尺寸
  2. 在下一帧视频中,在最后一帧坐标附近找到相同的视觉特征。

Near 表示考虑与最后一帧相关的基本变换:

  • 各个方向的平移;
  • 规模;
  • 旋转;

这些转换的变化与帧速率密切相关。帧率越高,距离最近的位置将在下一帧中。

Marvin Framework 提供插件和示例来执行此任务。它还与 iO 不兼容。但是,它是开源的,我认为您可以轻松地移植源代码。

这个video 演示了一些跟踪功能,从 1:10 开始。

【讨论】:

    猜你喜欢
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2022-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多