1

我有一组不同角度的场景图像和相机内在参数。我能够使用点对应和三角测量来生成 3D 点。是否有内置方法或方法可以在 MATLAB 中生成 3D 图像?从给定的图像集中,3D 图像本身?3D 图像是指基于颜色、深度等的场景的 3D 视图?

4

3 回答 3

3

最近有一篇关于 3D 表面渲染的MathWorks 博客文章,其中展示了使用内置函数和使用贡献代码的方法。

内置方法使用isosurfacepatch。要显示多个表面,诀窍是设置'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 imshowimage3viewer3D

如果您的图像矩阵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 回答