Web*_*ter 5

互联网上有许多中轴转换的实现(我个人不使用OpenCV库,但我确信它有一个不错的实现).但是,您可以自己轻松实现它.

为了执行中轴变换,我们只需要定义一个术语:简单点.如果移除P不影响前景或背景的连通分量的数量,则点(P)是简单的点.所以,你必须决定背景和前景的连接性(4或8) - 以便为两者选择不同的连接(如果你感兴趣的原因,请在google上查找Jordan属性).

简单和非简单点的示例

中间变换轴可以通过顺序删除简单点来实现.如果没有更简单的点,你会获得最终的骨架.如果你只有端点或非简单点,你会得到弯曲的骨架(我不知道它的英文名称,这是罕见的 - 请纠正我).您在问题中提供了后者的示例.

使用形态学运算符或查找表可以轻松实现查找简单点.提示:如果背景中连接组件的数量为1,并且前景中连接组件的数量在3x3本地窗口中为1,则点是简单点.