将 3D 图像从 Matlab 导出为 u3D 或任何其他 3D 格式

Exporting 3D image from Matlab to u3D or any other 3D format

我有一个关于将 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) 体积,我可以旋转、移动、ecc...

现在我需要将这个 3D 体导出为 3D 文件(类似 u3D r)。 我尝试使用 Fig2u3d 文件 (http://it.mathworks.com/matlabcentral/fileexchange/37640-export-figure-to-3d-interactive-pdf) 但出现以下错误:

fig2u3d No surfaces found. Preprocessing patch No.1 Undefined function 'ddisp' for input arguments of type 'char'.

Error in u3d_pre_patch>single_patch_preprocessor (line 115) ddisp('Patch: Fixing face color')

Error in u3d_pre_patch (line 70) [v, f, fvx, r] = single_patch_preprocessor(h);

Error in fig2u3d (line 195) [patch_vertices, patch_faces, patch_facevertexcdata, patch_renderers] = u3d_pre_patch(ax);

有谁知道如何从 Matlab 导出 3D 图像?

尝试导出为 .stl(查看文件交换),它得到了更好的支持。然后用meshlab转成u3d。

unintendedly introduced 在维护期间调用函数 ddisp。 函数 ddispdisp 的本地便利包装器,用于全局过滤调试输出(在 matlab 中没有任何适当的 logging 基础设施的情况下)。

自提交 e15999 起已修复。感谢您报告。