【发布时间】:2015-01-21 11:41:14
【问题描述】:
我有一个关于将 Matlab 制作的 3D 图像导出为任何其他 3D 格式(u3D、collada、Fbx)的问题。 我有一堆图像(ct 图像),我在 Matlab 中使用了等值面法来获得 3D 体绘制。 代码如下:
p_bone=patch(isosurface(volume_gabbia,0));%create isosurface patch
isonormals(volume_gabbia,p_bone)%compute and set normals
set(p_bone,'FaceColor','m','EdgeColor','none')%set surface props
daspect([1 1 1])
view(3), axis vis3d tight, box on, grid on
camproj perspective
camlight, lighting phong, alpha(.2)
volume_gabbia 是一堆仅包含胸腔的图像。
结果是一个图像 (.fig) 卷,我可以旋转、移动、删除...
现在我需要将这个 3D 体积导出为 3D 文件(u3D r 类似)。 我尝试使用 Fig2u3d 文件 (http://it.mathworks.com/matlabcentral/fileexchange/37640-export-figure-to-3d-interactive-pdf) 但出现以下错误:
fig2u3d 未找到任何表面。 预处理补丁 No.1 未定义函数 'ddisp' 用于类型为“char”的输入参数。
u3d_pre_patch>single_patch_preprocessor 中的错误(第 115 行) ddisp('Patch: Fixing face color')
u3d_pre_patch 中的错误(第 70 行) [v, f, fvx, r] = single_patch_preprocessor(h);
fig2u3d 中的错误(第 195 行)[patch_vertices,patch_faces, patch_facevertexcdata, patch_renderers] = u3d_pre_patch(ax);
有人知道如何从 Matlab 导出 3D 图像吗?
【问题讨论】:
-
尝试导出为 .stl(查看文件交换),它得到了更好的支持。然后用 meshlab 转换。
-
非常感谢您的帮助。
-
我做到了,而且效果很好。非常感谢您的帮助
-
@Thomas 您可以将其发布为我猜的答案:)