一种快速细化算法

Aru*_*iRC 18 opencv image-processing

我正在寻找一种可以使用OpenCV轻松实现的快速细化算法.提到这个库是因为有些东西可以用,例如Mathematica或MATLAB,这需要在OpenCV + C中使用手工编码.

该算法必须满足1像素厚度和连通性标准.

有没有人有过实施大量可用算法的经验? - 谷歌抛出的绝对数量的论文真的被宠坏了.任何正确方向的指针都可以.

flo*_*ree 19

请检查我的博客中的一些细化实现:

  1. 张素恩算法.(在archive.org上复制)
  2. 郭霍尔算法.(在archive.org上复制)

两者都使用OpenCV 2.x API.

  • 最后.我最终使用张素,但很好的答案. (3认同)
  • @flowfree为什么你的博客失败了.这是一个很好的参考页面. (3认同)
  • 你应该知道你在帖子中的实现是错误的.它将沿着远边缘处理图像外部. (2认同)

Aru*_*iRC 10

为了完整起见,我在这里发布了一套使用OpenCV和C/C++实现的细化算法,我在回答这个问题时在网上发现了这些算法.这些已根据我的需要充分回答了这个问题.将它们放在这里以防其他人有类似的要求.

  1. 用于细化的OpenCV代码(郭和霍尔算法,与CvMat输入一起使用)
  2. 使用OpenCV 的JR Parker实现
  3. 这里的代码可能效率更高(使用OpenCV优化的访问方法很多,但是大部分页面都是日文版!)


小智 5

我用了张苏恩和郭霍尔;两者都产生了令人满意的结果,但不是最好的。然后我尝试了 YY ZHANG 和 PSP Wang 的“A Modified Parallel Thinning Algorithm”。它远远优于前两种算法。任何正在寻找好的细化算法的人都应该尝试一下,因为它比其他两个更快、更有效。