欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

距离变换提取骨架

程序员文章站 2022-10-02 19:55:03
此为基于距离场提取骨架的公式,DTp表示体素p与它最近的边界体素的距离,VP代表某体素的26邻居,也就是共同分享一个顶点邻居体素,这样的体素不管是实体素还是虚体素最多只有26个。TP代表细化的参数,第二行参数求出了体素p和它26邻居的平均距离场的值,当体素p满足不等式,这个体素是线性骨架上的体素。TP越小,保留的骨架体素可能会越线性,也有可能会断裂。但是通常情况下,TP参数不容易直观上估计它的值,因此,保留的骨架体素往往都包含许多噪声。为了处理这个问题,采用的是多分辨率的办法,对TP的设定根据邻域的范围分....

距离变换提取骨架

此为基于距离场提取骨架的公式,DTp表示体素p与它最近的边界体素的距离,VP代表某体素的26邻居,也就是共同分享一个顶点邻居体素,这样的体素不管是实体素还是虚体素最多只有26个。TP代表细化的参数,第二行参数求出了体素p和它26邻居的平均距离场的值,当体素p满足不等式,这个体素是线性骨架上的体素。TP越小,保留的骨架体素可能会越线性,也有可能会断裂。但是通常情况下,TP参数不容易直观上估计它的值,因此,保留的骨架体素往往都包含许多噪声。为了处理这个问题,采用的是多分辨率的办法,对TP的设定根据邻域的范围分成三种情况(3*3*3、5*5*5、7*7*7),多分辨率计算如下 公式所示:
距离变换提取骨架
先算出26的平均距离值,然后TP1的值就是模型所有体素的26邻域平均距离值与所有体素的DT值的差再除以体素总数。
124、342的算法也是如此。如果体素p满足这三个分辨率,那么他就是骨架体素。

距离变换提取骨架
这个方法的不足在于,当模型内有一些孤点时,在计算近似的距离场时,这些孤点会导致局部的最值。改进的方式就是把基于距离场提取的粗糙骨架进行L1中值优化改进。
关于距离值怎么计算,可以直接计算体素中心点到边界体素中心点的欧氏距离,计算量大、精度高往往不至于。所以有通过(3,4,5)的加权、棋盘距离、曼哈顿距离之类的方式来计算。
(3,4,5)加权指的是,从最外层开始向内层计算距离值。当边界体素和背景体素是面相邻的时候,DT值为3,边相邻DT值为4,点相邻DT值为5。第一次遍历之后,就得到了边界体素上的DT值,在以这一圈为基础向内部累加,FNei + 3,ENei + 4,VNei + 5。
伪代码如下:
距离变换提取骨架
(3,4,5)

本文地址:https://blog.csdn.net/weixin_36429070/article/details/108573327

相关标签: 数字几何处理