给定一个勾勒出字母 S 边缘的轮廓(例如在漫画 sans 中),我怎样才能沿着这个字母的脊椎获得一系列点,以便以后使用线条、三次样条或其他曲线表示技术来表示这个形状? 我想在 Python/OpenCV 中使用 30-40 个点来处理和表示形状。
形态骨架化可以对此有所帮助,但该操作似乎总是会产生错误的分支。有没有更好的方法将轮廓折叠成字母的“S”形?
在下面的示例中,您可以看到由形态骨架化产生的错误的“蛇舌”状分支。如果这是算法应该做的事情,我不知道说他们是错误的是否公平,但对我来说,我不希望他们在那里。
以下是漫画无字母:
骨架化的另一个问题是它的计算成本很高,但是如果你知道一种使它能够健壮地形成像树枝一样的“蛇舌”的方法,那么我会试一试。