我有一组不同角度的场景图像和相机内部参数。我能够使用点对应和三角剖分来生成3D点。在MATLAB中有没有内置的方法或者生成3D图像的方法?从给定的一组图像中,像这样的3D图像?所谓3D图像,是指基于颜色、深度等的场景的3D视图。
发布于 2013-12-03 14:10:21
最近有一个关于3D表面渲染的MathWorks blog post,它展示了使用内置函数和贡献代码的方法。
内置方法使用isosurface和patch。若要显示多个曲面,技巧是设置'FaceAlpha' patch property以获得透明度。
这篇文章还强调了"vol_3d v2" File Exchange submission,它提供了渲染表面的vol3d函数。它允许显式定义体素颜色和Alpha值。
发布于 2013-12-03 11:23:24
来自mathworks的一些文件交换:3D CT/MRI images interactive sliding viewer、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-03 23:21:14
MATLAB的计算机视觉系统工具箱包括一个名为estimateUncalibratedRectification的函数,您可以使用该函数来校正一对立体图像。看看这个如何创建3D图像的example,它可以用一副红蓝立体眼镜来观看。
https://stackoverflow.com/questions/20341231
复制相似问题