问题出在深度图像中的锯齿。
import numpy as np
depth = np.load('TransferNow-SO/depth-arr.npy')
np.set_printoptions(precision=2)
original_depth[275:285, 920:930]
这将显示:-
array([[3.96, 3.96, 3.97, 3.97, 3.98, 0.76, 0. , 0. , 0. , 0. ],
[3.95, 3.96, 3.97, 3.98, 3.86, 0.06, 0. , 0. , 0. , 0. ],
[3.96, 3.96, 3.97, 3.98, 3.01, 0. , 0. , 0. , 0. , 0. ],
[3.96, 3.97, 3.98, 3.98, 2.17, 0. , 0. , 0. , 0. , 0. ],
[3.96, 3.97, 3.98, 3.99, 1.26, 0. , 0. , 0. , 0. , 0. ],
[3.97, 3.97, 3.98, 3.95, 0.38, 0. , 0. , 0. , 0. , 0. ],
[3.97, 3.98, 3.98, 3.35, 0. , 0. , 0. , 0. , 0. , 0. ],
[3.97, 3.98, 3.99, 2.6 , 0. , 0. , 0. , 0. , 0. , 0. ],
[3.98, 3.98, 3.99, 1.34, 0. , 0. , 0. , 0. , 0. , 0. ],
[3.98, 3.99, 3.99, 0.54, 0. , 0. , 0. , 0. , 0. , 0. ]],
dtype=float32)
注意立方体边界处的值。实际深度值 3.98 不会急剧下降到 0,这会导致拖尾深度像素。
此外,更改 RGB 图像只会影响颜色。映射到点云时图像像素的位置仅取决于 3 个因素:-