我有一组不同角度的场景图像和相机内在参数。我能够使用点对应和三角测量来生成 3D 点。是否有内置方法或方法可以在 MATLAB 中生成 3D 图像?从给定的图像集中,3D 图像本身?3D 图像是指基于颜色、深度等的场景的 3D 视图?
问问题
1754 次
3 回答
3
最近有一篇关于 3D 表面渲染的MathWorks 博客文章,其中展示了使用内置函数和使用贡献代码的方法。
内置方法使用isosurface
和patch
。要显示多个表面,诀窍是设置'FaceAlpha'
patch
属性以获取透明度。
该帖子还突出显示了“vol_3d v2”文件交换提交,它提供了vol3d
渲染表面的功能。它允许显式定义体素颜色和 alpha 值。
于 2013-12-03T06:10:21.297 回答
1
适用于 MATLAB 的计算机视觉系统工具箱包含一个名为 的函数estimateUncalibratedRectification
,您可以使用它来校正一对立体图像。查看此示例,了解如何创建 3-D 图像,可以使用一副红青色立体眼镜进行查看。
于 2013-12-03T15:21:14.047 回答
1
来自 mathworks 的一些文件交换: 3D CT/MRI 图像交互式滑动查看器、3D imshow、image3和viewer3D。
如果您的图像矩阵I
的维度为x*y*z
,您也可以尝试surface
:
[X,Y] = meshgrid(1:size(I,2), 1:size(I,1));
Z = ones(size(I,1),size(I,2));
for z=1:size(I,3)
k=z*sliceInterval;
surface('XData',X, 'YData',Y, 'ZData',Z*k,'CData',I(:,:,z), 'CDataMapping','direct', 'EdgeColor','none', 'FaceColor','texturemap')
end
于 2013-12-03T03:23:24.430 回答