我有一个关于将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图像?
答案 0 :(得分:1)
尝试导出为.stl(查看文件交换),它得到了更好的支持。然后用meshlab转换为u3d。
答案 1 :(得分:0)
我unintendedly introduced在维护期间调用ddisp
。
函数ddisp
是disp
的本地便捷包装器,用于全局过滤调试输出(matlab
中没有任何正确的logging基础结构)。
自e15999起修复。谢谢你报道。