给出带有障碍物(黑色像素)的地图的二进制图像,目标是创建Voronoi图图。到目前为止,这是使用brushfire算法完成的,可以使用Laplacian运算符(即梯度)从中提取GVD;下面将演示该过程,并且可以在this file中找到C ++代码。
现在的目标是使用GVD(图3)创建一个邻接图,该图基本上是一种类似图的数据结构,其中Voronoi顶点为节点,边为节点之间的路径。
我的问题是,这样做的最佳方法是什么?到目前为止,我已经使用cv::findContours
方法检测到GVD的顶点,如上图所示,现在的想法是删除所有几乎重复的顶点,并尝试使用黑色像素和线迭代器连接节点
有更好的方法吗?