<div dir="ltr"><div>It was asserted tonight that depth images and pointcouds are the same thing, that no geometry or transformation is needed to access xyz of a pixel in a depth-image or point in a pointcloud, or to relate one to the other. I think that is incorrect, and that I gave up too easily on that point. See the attached diagram for why it's not true.</div><div><br></div><div>The diagram is an old-time physics lens drawing, showing the camera lens imaging onto the image plane on the left. Two arrows: a1 at depth d=1, a2 at depth d=2, both 1 unit high, image on different parts of the image plane; a1 at 0,-50 and a2 at 0,-30 because it's further away, despite being the same height. a3 is twice as tall as a2, and twice as far away, but images at the same coordinates as a2 - only the depth tells you it's taller. You have to take the angle from the central axis to 0,-30 and the depth to compute z for a3 or a2 and to tell the difference. IOW you have to transform the image with the depth data to compute the xyz location of each arrowhead.</div><div><br></div><div>Maybe I misunderstood what was being asserted, but it seems to me a pointcloud can simply be clipped at the boundaries of the region of interest, whereas in a depth image each pixel must be transformed from it's x,y,depth value to xyz using some math. All very doable, but if you're trying to populate an obstacle map with some clipping on Z (e.g. to eliminate the ground, or taller-than-relevant obstacles, or obstacles outside the robot's path, you end up having to create a pointcloud to determine if each point is within the region of interest.</div><div><br></div><div>Did I misunderstand what was being asserted? David said he just wanted to take the image and pull object height or horizontal offset from robot centerline, and distance from the robot out of it (if I understood him) and you have to do some trig to do that. It's the same math that has to be done to create a pointcloud. It is true that the two forms contain the same information, but it's represented differently, and transformation is needed to map one to the other.<br></div><div><br></div><div>Paul<br></div></div>