我正在尝试从映射数据构建导航网格。其中一个步骤涉及将二值图像(其中 0 表示占用空间,1 表示空闲空间)转换为平面直线图。
我试图找出一种方法来做到这一点,这有点可靠。我目前的想法是使用 Canny 边缘检测器,然后通过 OpenCV 的 Hough 线变换运行它。但是,这并不能保证检测到的线以代表原始形状的方式连接。
可以安全地假设地图相对平滑,并且没有任何区域相互接触。
编辑 - 这是一个示例图像:
白色区域代表可用空间
黑色区域代表占用空间
python opencv computer-vision computational-geometry python-2.7