I'm using ROS to control a Kinect, and I need to project the skeleton points I get with openni_tracker to image coordinates. I found an answer about converting world coordinates to image coordinates (P_screen = I * P_world, where I is the 3x4 intrinsics matrix), however, the mapping I get seems incorrect.
An example of the /tf topic I have recorded is below:
transforms:
-
header:
seq: 0
stamp:
secs: 1385988109
nsecs: 907731078
frame_id: /skeleton/openni_depth_frame
child_frame_id: /skeleton/head_4
transform:
translation:
x: 1.97650313527
y: 0.467346462985
z: 0.124516482569
rotation:
x: 0.320303175814
y: 0.601755401028
z: 0.604153236547
w: 0.412668365236
---
Could you please help me with the needed transform to get the image coordinates (RGB topic: /camera/rgb/image_color) of the above point (the head of Kinect skeleton). The rest of the skeleton point have similar format.
Also, I want to point out, that I used the skeleton_markerspackage and the visualization of the joints of the skeleton seems correct. However, the problem is that I don't know how to project those points on the RGB image.
Originally posted by xana on ROS Answers with karma: 11 on 2014-04-08
Post score: 1