繁体   English   中英

如何从斑马条纹的顶点坐标计算斑马线区域的顶点坐标?

[英]How can I calculate the coordinates of vertices of an zebra crossing area from the coordinates of vertices of zebra stripe?

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

我是用3D做的

我好几天都在思考这个问题,无法找出解决方案而不是残酷的力量......

这是找到给定点列表的边界框的另一个问题。 对于此任务,返回将是斑马条纹顶点中的四个。 我只需要找到它们。 任何帮助或指针都是有价值的!

更新:我最终按照方向对那些斑马线进行了分类,并且很容易找到了斑马线。 其余的工作是微不足道的

如你所知,你知道斑马线每条纹的坐标。 因此,现在您可以通过查看所有顶点的最大和最小坐标来确定第一个和最后一个条纹(通过考虑可以测量距离的参考轴)。 然后你知道了终端条纹的坐标,因此你可以通过考虑坐标来制作轮廓,从而从这四个坐标中确定整个斑马线的更大的矩形。

根据你的说法,你似乎拥有矩形轮廓的3D坐标。 我将假设笛卡尔坐标和未失真的几何。

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

为了获得合理的精确度,您可以

  • 找到点的质心;

  • 找到距离质心最远的点;

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

  • 在两半,从质心找到最遥远的点;

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

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


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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM