基于深度图像的渲染

时间:2012-12-13 13:35:53

标签: rendering

我必须实现深度图像基础渲染。给定2D图像和深度图,算法将生成虚拟视图 - 如果将相机放置在不同位置,场景将是什么样子。我写了这个函数,V是带有2d视图像素的矩阵,D是来自深度图的像素和相机移动参数。 Z = 1.1-d / 255。是一种规范化。我尝试按照这个指示: 对于深度图中的每个像素,计算由深度产生的视差。对于源2D图像中的每个像素,在虚拟视图中找到它的新位置:旧位置+该特定像素的视差。 这个功能运行得不好,有什么不对?

function[virtualView]=renderViews(V,D,camerashift)
Z=1.1-D./255;
[M,N]=size(Z);
for m=1:M
for n=1:N
d=camerashift/Z(m,n);
shift=round(abs(d));
V2(m,n)=V(m+shift,n);
end
end
imshow(V2)

0 个答案:

没有答案