我目前正在尝试找到一种在二进制图像中存储单独“分支”的简洁方法。这个小动画对此进行了解释:
当我沿着分支前进时,我需要收集构成单像素宽分支的像素索引。当我到达一个交汇点时,它应该 split 并存储新的分支。
解决这个问题的一种方法可能是创建一个 3x3 子区域,找出其中是否有白色像素,相应地移动它,如果有两个以上,则创建一个连接点。始终存储前一个子区域,以便可以使用它来确保我们不会移动到已经扫描过的区域。 不过,弄清楚我将如何去做有点棘手。
我基本上需要根据“线/曲线”层次结构对像素重新排序。然后应用程序的另一部分将重新绘制图形,这在内部通过在点之间创建线来工作,因此需要让它们“有序”。
最佳答案
我不知道你是否可以在你的情况下应用它,但你应该看看 cv::findContour。 你会得到一个点向量。
http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html
关于OpenCV:沿单像素分支搜索像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17699032/