[ros-users] camera_info message and stereo_image_proc

Rosen Diankov rosen.diankov at gmail.com
Tue Apr 13 16:40:28 UTC 2010

So it looks like everyone uses the CameraInfo.P to go from 3D to 2D
rectified image. I know that CameraInfo has been designed very
carefully and evolved over the past 2 years, I don't understand why
the message has both K and P, when P holds the exact same information
and only it is supposed to be used...

Also, if P describes the 2D/3D relationship for the rectified plane,
and the camera's TF frame is in the original non-rectified plane, what
frame should nodes publish their image measurements in to guarantee
the correct transformations happen?


2010/4/14 Rosen Diankov <rosen.diankov at gmail.com>:
> Hi Blaise, Dejan,
> thank you for the responses.
> We have several ros nodes that compute the 6D pose of objects from
> images. This data can come from stereo cameras, or can compute from
> single cameras. Either way, the CameraInfo message explains how the
> image was generated and it provides an intrinsic matrix, so we try to
> be consistent and do all processing depending on what the CameraInfo
> dictates.
> I don't understand how nodes can just use rectified images without
> knowing the intrinsic parameters... is there a tf frame that does the
> intrinsic parameter computation?
> rosen,
> 2010/4/14 Blaise Gassend <blaise at willowgarage.com>:
>> Hi Rosen,
>> I believe that the intent is that only image_proc and stereo_image_proc
>> are supposed to look at CameraInfo.D. All other nodes should be running
>> on rectified images and should disregard the distortion parameters.
>> Do you have a use case of a node that needs to be able to run both on
>> rectified and unrectified images and, that needs to use the distortion
>> parameters?
>> Blaise
>> On Tue, 2010-04-13 at 17:42 +0900, Rosen Diankov wrote:
>>> hi guys,
>>> currently i'm using the videre_stereo_cam package by Antons to get
>>> stereo data. This publishes the image_raw and camera_info messages as
>>> expected, which is then fed into stereo_image_proc.
>>> stereo_image_proc itself publishes image_rect, image_color,
>>> image_mono, which I'm guessing undistort the raw images. However, a
>>> new camera_info isn't published that has CameraInfo.D set to all
>>> zeros. This confuses other nodes taking in the processed images and
>>> the camera_info, so is it possible to publish a new camera_info
>>> message to use for the output images?
>>> rosen,
>>> _______________________________________________
>>> ros-users mailing list
>>> ros-users at code.ros.org
>>> https://code.ros.org/mailman/listinfo/ros-users
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users

More information about the ros-users mailing list