我目前正在寻找一种整洁的方式来存储二进制图像中的不同“分支”。以下动画对此进行了解释:
当我沿着这些分支走时,我需要收集组成单像素宽度分支的像素索引。当我遇到一个交叉点时,它应该分裂并存储新的分支。
一种可能的方法是创建一个3x3子区域,查找其中是否有白色像素,根据情况移动它,如果超过两个,则创建一个交叉点。始终存储先前的子区域,以便我们不会移动到已经扫描过的区域。 不过,弄清楚如何操作还有点棘手。
基本上,我需要根据“线/曲线”层次重新排序像素。应用程序的另一部分将重新绘制这些图形,内部工作是通过在点之间创建线条来完成的,因此需要将它们“排序”。