Hello
I have generated a bag file using an Turtlebot Kinect camera with openni and it contains the topic /camera/depth/image_raw. I subscribed to this topic and got the depth image correctly and I converted it to an openCV image in its callback as follows: depthImage_ptr=cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::TYPE_32FC1); using the 32FC1 encoding.
The problem is that when I print the depth of any cell, for example ROS_INFO("depth = %.2f",depthImage_ptr->image.at(Point2f(200,300)));
I get values that are too large to be considered in meters. Here is an example of output [ INFO] [1431974682.739030530]: depth = 2426.00 [ INFO] [1431974683.904995806]: depth = 2281.00 [ INFO] [1431974685.126654288]: depth = 2101.00 [ INFO] [1431974686.354065935]: depth = 1883.00
My question is what is the unit of this depth? If it is meter, then the values I got are misleading? I browsed a lot of pages in ROS wiki and all mention that the unit of the depth when printed as float is in meter, and when printed as uint16 is millimeter. But as I mentioned, the values are too large. If it is in centimeters, then the values would be more logic.
What can be wrong with my settings? I am really blocked and I would appreciate to have any pointer on this.
Thank you Anis
Originally posted by Anis on ROS Answers with karma: 253 on 2015-05-18
Post score: 0