[ros-users] image_proc pipeline: rectification and optimal camera_info
Ivan Dryanovski
ivan.dryanovski at gmail.com
Fri Nov 30 22:01:40 UTC 2012
Hello all,
As far as I understand, the image_proc pipeline uses the
initUndistortRectifyMap [1] function to rectify incoming images, and then
it passes them along. It subscribes to an incoming camera info containing
the intrinsic distortion matrices of the distorted image.
>From the OpenCV documentation: "The undistorted image looks like original,
as if it is captured with a camera using the camera matrix
=newCameraMatrix. In case of a monocular camera, newCameraMatrix is usually
equal to cameraMatrix , or it can be computed by
getOptimalNewCameraMatrix() [1]
I compared the original vs optimal matrices for the default calibration of
the Xtion depth camera:
Original:
--------------------------------------
[578.8, 0, 316.0;
0, 574.6, 246.0;
0, 0, 1]
newCameraMatrix (from getOptimalNewCameraMatrix)
--------------------------------------
[573.4, 0, 315.5;
0, 570.8, 245.2;
0, 0, 1]
It seems that there is a small, yet probably significant difference between
the two. I expect this difference will be bigger for cameras with higher
distortion.
Wouldn't it make sense for image_proc to publish the rectified (optimal)
matrix, in the same way the original (distorted) camera info is published?
Here's what the topics look like right now [2]:
Subscibed:
* image_raw (Raw image stream from the camera driver)
* camera_info (Camera metadata)
Published:
* image_mono (Monochrome unrectified image)
* image_rect (Monochrome rectified image)
* image_color (Color unrectified image)
* image_rect_color (Color rectified image)
Without breaking the API, we could add a topic:
Published:
* camera_rect_info
It would be even nicer (but API-breaking) to clean up the namespaces. For
example
Subscribed
* image/raw (raw camera stream)
* image/info (metadata)
Published:
* image/mono (Monochrome unrectified image)
* image/color (Color unrectified image)
* image/rect/mono (Monochrome rectified image)
* image/rect/color (Color rectified image)
* image/rect/info
I was hoping to hear other people's opinions on this subject.
Cheers,
Ivan Dryanovski
[1]
http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#initundistortrectifymap
[2] http://www.ros.org/wiki/image_proc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20121130/d03a19c3/attachment-0003.html>
More information about the ros-users
mailing list