我目前正在尝试寻找一种在二进制镜像中存储单独的“分支”的巧妙方法。这个小动画说明了这一点:

当我沿着分支前进时,我需要收集组成一个单像素宽分支的像素索引。当我到达一个交汇点时,它应该拆分并存储新的分支。

一种解决方法是创建一个3x3的子区域,找出其中是否有白色像素,相应地移动它,如果有两个以上,则创建一个结点。始终存储前一个子区域,以便可以使用它来确保我们不会移动到已经扫描的区域。
弄清楚我将如何处理它有点棘手。

我基本上需要根据“线/曲线”层次结构对像素进行重新排序。然后,应用程序的另一部分将重新绘制图形,这在内部通过在点之间创建线而在内部起作用,因此需要对它们进行“排序”。

最佳答案

我不知道是否可以在您的情况下应用它,但是您应该看一下cv::findContour。
您将获得点的向量。

http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html

关于OpenCV:沿单像素分支搜索像素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17699032/

10-15 06:00
查看更多