代码之家  ›  专栏  ›  技术社区  ›  JustAMartin

跟踪矩形斑点的简单算法

  •  1
  • JustAMartin  · 技术社区  · 14 年前

    我已经创建了一个实验性的快速矩形物体跟踪系统;它将用于在3D引擎(ogre3d)中进行头部跟踪和控制物体。

    目前,我可以向网络摄像头显示任何类型的明亮的矩形(文本标记是很好的对象),系统会记录该对象的基本属性(色调/值/亮度以及0度旋转时的初始宽度和高度)。

    在注册了可跟踪对象之后,我做了一些简单的帧处理来创建灰度概率图。

    所以现在我有两件事: 1)最后一个对象位置的4个角(始终是一个矩形,但可以旋转) 2)一个很漂亮的矩形(但离完美还很远)斑点,它是帧中最亮的。我可以毫无问题地得到斑点的任何点的坐标,点检测足够稳定。

    我可以毫无问题地找到对象的边界矩形,但是我在检测对象角本身时遇到了问题。

    我需要一个最简单的算法(快速和肮脏将是伟大的)扫描图像从一些已知的坐标(一个点在斑点内)开始,并检测一个“斑点”矩形角(不是边界框的角,而是矩形斑点本身的角)的新4x,y坐标。

    准备好使用C++功能会很棒,但不知何故谷歌今天不喜欢我:

    我认为使用一些复杂的函数形式opencv库来提取单个rectanglular blob的4个点是过分的。但是如果你知道一个快速有效的方法如何使用opencv(它必须是实时的和轻CPU,因为我会同时运行3D引擎),那么我会非常感激。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Adi    14 年前

    你可以申请 Hough transform 在分割图像上检测线条。使用检测到的线,可以计算它们的交点,以找到斑点的角坐标。