找到包含给定坐标的多边形并找到多边形的坐标(python opencv)

find the polygon enclosing the given coordinates and find the coordinates of polygon (python opencv)

Example image used in program

我正在尝试查找图像中多边形的坐标 (就像 flood fill 算法一样,我们得到一个坐标,我们需要在周围的像素中搜索边界,如果找到边界,我们需要将其坐标附加到列表中,否则我们需要继续搜索其他像素。)如果遍历所有像素,程序应停止返回像素列表。 通常边界颜色为黑色,图像为建筑物地图的灰度图像。

似乎 flood-fill 足以完全填满一个房间,尽管有额外的注释。填充后,提取外部轮廓。现在您可以通过检查三个连续点形成的角度来检测轮廓的直线部分。我会在它们之间保持间距以避免局部不准确。

您会发现一系列线段,可能在拐角处中断。可选择使用线拟合来最大限度地提高准确性,并通过相交线段重新计算角点。还可以考虑加入被短途旅行打断的对齐段。

如果房间密封不好,洪水填充物可能会漏水,你会有点卡住。考虑用更大的刷子填充,尽管这可能会导致其他问题。