1 内容介绍
在本文中,我们提出了一种有效的三维 (3-D) 并行细化算法,用于提取 3-D 对象(作为 3-D 二值图像)的内表面和中轴。一个新的欧拉表被导出以确保在细化过程中对象的欧拉特性的不变性。构建了一个 3 × 3 × 3 格点的八叉树数据结构来检查局部连通性。将不同研究人员发现的“简单”点集合与构建的集合进行比较。给出了包括我们在内的“表面”点的不同定义。通过保留拓扑和几何条件,我们的算法产生了理想的骨架,并且在噪声敏感度和速度方面比其他算法表现得更好。预处理器和后处理器可用于消除额外的噪声杂散。讨论了它在铸锻件缺陷分析中的应用。
2 仿真代码
clear all;
close all;
load testvol
skel = Skeleton3D(testvol);
figure();
col=[.7 .7 .8];
hiso = patch(isosurface(testvol,0),'FaceColor',col,'EdgeColor','none');
hiso2 = patch(isocaps(testvol,0),'FaceColor',col,'EdgeColor','none');
axis equal;axis off;
lighting phong;
isonormals(testvol,hiso);
alpha(0.5);
set(gca,'DataAspectRatio',[1 1 1])
camlight;
hold on;
w=size(skel,1);
l=size(skel,2);
h=size(skel,3);
[x,y,z]=ind2sub([w,l,h],find(skel(:)));
plot3(y,x,z,'square','Markersize',4,'MarkerFaceColor','r','Color','r');
set(gcf,'Color','white');
view(140,80)
3 运行结果
4 参考文献
[1] Lee T C . Building Skeleton Models via 3-D Medial Surface/Axis Thinning Algorithms[J]. Graphical Models and Image Processing, 1994, 56(6):462-478.