我正在寻找一个计算矢量形状骨架的算法。限制如下:形状是由三次/二次样条曲线、贝塞尔曲线和直线段表示的闭合路径减去的结果,这就是为什么可以包含孔的原因。
如果将形状表示为光栅连通分量,则有许多现成的算法和实现,例如Zhang-Suen,P. Kwok,3-4距离变换,甚至Graphics Gems IV“使用邻域映射进行二值图像细化”中的C实现。
那么问题是:有没有一种算法可以让矢量输入以一种干净的方式计算矢量骨架,而不需要光栅化路径,细化它并转换回矢量表示?
附录:有没有什么数学形态学的东西来处理矢量形状?
发布于 2013-11-04 09:36:26
有趣的问题!我猜当一个人不得不看一看矢量图形图像以及它们是如何编码的。在这种情况下,我将选择SVG,它基本上对直线、多边形、点进行编码,以便它们可以以更高的分辨率重新绘制或重新渲染。因此,对于使用SVG编辑器或矢量图形编辑器正确构建的任何图像,基本上都是对要重新绘制的形状和线条进行编码。
因此,为了实际获得也是从SVG获得的SVG的骨架化,必须重复多边形重新编码过程,并在多边形空间上执行骨架化,从而重新编码形成骨架的结果线集。这在计算机图形学社区基本上给了你一个Straight Skeleton!这将在任何缩放中产生一个骨架!
https://stackoverflow.com/questions/11159895
复制相似问题