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

时间:2015-01-21 11:41:15

标签: matlab 3d export

我有一个关于将Matlab制作的3D图像输出到任何其他3D格式(u3D,collada,Fbx)的问题。 我有一堆图像(ct图像),我在Matlab中使用isosurface方法来获得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是一堆只包含胸腔的图像。 结果是我可以旋转,移动,ecc ...的图像(.fig)音量。

现在我需要在3D文件中导出这个3D卷(类似于u3D)。 我试过使用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图像?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

unintendedly introduced在维护期间调用ddisp。 函数ddispdisp的本地便捷包装器,用于全局过滤调试输出(matlab中没有任何正确的logging基础结构)。

e15999起修复。谢谢你报道。