将深度/点云与RGB场景对齐

时间:2018-04-11 09:42:43

标签: matlab rgb point-clouds depth disparity-mapping

我有一个混合立体声系统的设置。一个摄像头是3D ToF,我可以从中导出深度图或灰度点云,另一个摄像头是PI V2 RGB摄像头。我使用Matlab立体声校准工具完成了stereoCalibration。

  1. 如何使用深度图或点云估算两台摄像机之间的视差图?或者如何将两个场景正确对齐,以便在结果中得到一个带有相应颜色的点云?
  2. 现在我尝试使用此代码:

    %% Depth map
    z = double(depth(:,:,2))/255;
    [x,y] = ndgrid(1:size(depth,1), 1:size(depth2,2));
    scene_tran=imtranslate(scene,[-15, 40],'FillValues',255);
    c = double(scene_tran)/255;
    %c = flip(c,1);
    %c = flip(c,2);
    figure(1);
    scatter3(flip(x(:)), y(:), z(:), 6, reshape(c,[],3), '.')
    axis vis3d
    cameratoolbar('Show')
    cameratoolbar('SetMode','orbit')
    xlabel('x');ylabel('y');zlabel('z');
    view([0,0,-90])
    camroll(90);
    
    
    %% Point cloud
    figure(2);
    cl1.Color = reshape(permute(scene, [2 1 3]), [], 3);
    pcshow(pcdenoise(cl1))
    view([0,0,-90])
    xlabel('x');ylabel('y');zlabel('z');
    

    cl1是点云。我试图通过翻译RGB场景来对齐场景,但我知道这不是一个精确的方法。任何帮助将不胜感激

    关心Kuchx

0 个答案:

没有答案