如何使用Kinect V1分割对象?

时间:2016-07-13 17:58:57

标签: computer-vision feature-detection kinect-sdk corner-detection

我正在使用SDK 1.8,而且我正在从Kinect获取深度流。现在,我想在相机前面拿一张A4尺寸的纸,想要得到那张纸的角落的坐标,这样我就可以将图像投影到它上面了。

如何检测纸张的角落并获得坐标? Kinect SDK 1.8是否提供该选项?

由于

1 个答案:

答案 0 :(得分:0)

Kinect SDK 1.8本身不提供此功能(据我所知)。根据您用于编码的语言,如果将其分段为步骤,则肯定会有允许此类操作的库。

例如,OpenCV在图像处理中非常有用。当我曾经使用Kinect进行物体识别时,我使用了AForge和C#。

我建议按如下方式确定挑战:

  1. 边缘检测: 您将边缘检测算法(如 Canny Filter )应用到图像上。首先,您可能 - 根据库 - 将您的深度图片转换为灰度图片。得到的图像也将是灰度级的,并且像素的强度与其属于边缘的概率相关。使用阈值,您可以将此图片二值化为黑/白。

  2. 霍夫变换:用于获取图像中线条的位置和参数,从而可以进一步计算。 Hough Transformation对其参数非常敏感,你会花很多时间调整它们以获得好的结果。

  3. 边缘点的计算:假设您的Hough变换成功,您现在可以计算所有交叉点或给定的线,这些线将产生您正在寻找的点。

  4. 所有这些步骤(尤其是边缘检测和霍夫变换)都在本论坛中被提及/回答/讨论过。

    如果您提供代码和中间结果或进一步的问题,您可以获得更详细的答案。

    P.S。 我记得kinect不是那么准确,噪音是一个话题。因此,在执行这些操作之前,您可以考虑使用过滤器。