5

我目前正在尝试找到一种在二进制图像中存储单独“分支”的简洁方法。这个小动画解释了它:

寻找分支

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

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

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

4

1 回答 1

1

我不知道你是否可以在你的情况下应用它,但你应该看看 cv::findContour。你会得到一个有序的点向量。

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

于 2013-07-17T12:00:13.083 回答