首页 > 解决方案 > 如何根据斑马条纹的顶点坐标计算斑马线区域的顶点坐标?

问题描述

我正在做一个斑马线检测问题,现在我已经知道每个斑马条纹的顶点,作为一个点列表。如何有效地计算包含这些斑马条纹的轮廓矩形的顶点坐标?

我在做 3D

我已经思考这个问题好几天了,无法找到解决方案,而不是残酷的力量......

这与查找给定点列表的边界框不同。对于此任务,返回将是这些斑马条纹的四个顶点。我只需要找出他们。任何帮助或指示都会很有价值!

更新:我终于按方向对那些斑马线进行了分类,很容易找到终端斑马线。剩下的工作是微不足道的

标签: pythoncomputer-visioncomputational-geometry

解决方案


从您所说的来看,您似乎拥有矩形轮廓的 3D 坐标。我将假设笛卡尔坐标和不失真的几何形状。

这些点属于一个平面,您可以通过 3D 平面拟合确定该平面。然后通过变量的正交变化,您可以将点投影到该平面上。

为了获得相当好的准确性,您可以

  • 找到点的质心;

  • 找到离质心最远的点;

  • 通过从质心到该点的线分割点集;

  • 在两半上,找到离质心最远的点;

  • 连接它们的线允许您进一步分成四个象限;

  • 在每个象限中,应用线拟合来找到边缘。


如果你要的是几个条纹的边界框,你可以按照上面的方法找到边的方向。然后应用坐标更改以使这些边轴对齐。找到边界框现在很简单。

撤消变换以获得 3D 矩形的 3D 坐标。


推荐阅读