我目前正在尝试找到一种在二进制图像中存储单独“分支”的简洁方法。这个小动画解释了它:
当我沿着分支走时,我需要收集构成单像素宽分支的像素索引。当我到达一个交汇点时,它应该分开并存储新的分支。
一种解决方法可能是创建一个 3x3 子区域,找出其中是否有白色像素,相应地移动它,如果有两个以上,则创建一个连接点。始终存储上一个子区域,以便可以使用它来确保我们不会移动到已扫描的区域。不过,要弄清楚我将如何去做有点棘手。
我基本上需要根据“线/曲线”层次结构重新排序像素。然后应用程序的另一部分将重新绘制图形,其内部通过在点之间创建线来工作,因此需要将它们“排序”。