Hi, I’m trying to overlay the body key points on to the right image. I take the 3D keypoint and use
u = x/zfx+cx
v= y/zfy+cy
I’m getting fx,fy,cx,cy from get_camera_information(). The left_cam parameters seem correct, and the mapping works. However, the right_cam parameters are identical to the left and don’t map into the correct place. What am I missing?
I’m running in the docker zed:4.2-gl-devel-cuda11.4-ubuntu20.04
Hello Phil, welcome on our forum !
If you want to overlay a 3D point from a camera frame to an other, you must use the transformation between the two frames. Please find the transformation between left and right cameras here: CalibrationParameters Class Reference | API Reference | Stereolabs
So you need to retrieve body key points whose coordinates are in left camera frame, as you already do. Then you use transform (rotation + translation) to get these points in right camera frame. Once you have your 3D points in right camera frame, you can apply your formula on the new coordinates to project the points in the right image frame and visualize them on your right image.
Best regards,