Package Summary

Tags No category tags.
Version 1.13.2
License BSD
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version melodic
Last Updated 2022-04-08
CI status
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

`image_geometry` contains C++ and Python libraries for interpreting images geometrically. It interfaces the calibration parameters in sensor_msgs/CameraInfo messages with OpenCV functions such as image rectification, much as cv_bridge interfaces ROS sensor_msgs/Image with OpenCV data types.

Additional Links


  • Vincent Rabaud


  • Patrick Mihelich
No README found. See repository README.

Changelog for package image_geometry

1.13.2 (2022-04-08)

1.13.1 (2022-03-22)

  • update CMakeLists.txt for Windows build environment (#265)

    • windows bringup
    • Correct binary locations for shared libraries.
    • fix build break.
    • fix cv_bridge_boost.pyd.
    • remove hard-coded STATIC (#3)
    • remove WINDOWS_EXPORT_ALL_SYMBOLS property (#4)

    * add comment Co-authored-by: shschaefer <> Co-authored-by: Sean Yen <>

  • add DLL import/export macros (#266)

    • update macro names (#2)
    • add exports.h and dll import/export macros
  • Contributors: James Xu

1.13.0 (2018-04-30)

  • Use rosdep OpenCV and not ROS one. We defintely don\'t need the whole OpenCV. We need to clean the rosdep keys.
  • Contributors: Vincent Rabaud

1.12.8 (2018-04-17)

  • Merge pull request #189 from ros2/python3_support_in_test python 3 compatibility in test
  • python 3 compatibility in test
  • fix doc job
  • Contributors: Mikael Arguedas, Vincent Rabaud

1.12.7 (2017-11-12)

  • get shared_ptr from boost or C++11
  • Contributors: Vincent Rabaud

1.12.6 (2017-11-11)

  • missing STL includes
  • Contributors: Mikael Arguedas, Vincent Rabaud

1.12.5 (2017-11-05)

  • Fix compilation issues. Fix suggested by #173 comment
  • Make sure to initialize the distorted_image Mat. Otherwise, valgrind throws errors about accessing uninitialized memory. Signed-off-by: Chris Lalancette <>
  • Remove the last remnants of boost from image_geometry. All of its functionality can be had from std:: in C++11, so use that instead. This also requires us to add the -std=c++11 flag. Signed-off-by: Chris Lalancette <>
  • Contributors: Chris Lalancette, Vincent Rabaud

1.12.4 (2017-01-29)

  • Import using __future_ for python 3 compatibility.
  • Contributors: Hans Gaiser

1.12.3 (2016-12-04)

1.12.2 (2016-09-24)

  • Fix \"stdlib.h: No such file or directory\" errors in GCC-6 Including \'-isystem /usr/include\' breaks building with GCC-6. See
  • Merge pull request #142 from YuOhara/remap_with_nan_border_value remap with nan border if mat value is float or double
  • remap with nan border if mat value is float or double
  • Contributors: Hodorgasm, Vincent Rabaud, YuOhara

1.12.1 (2016-07-11)

  • Add fullResolution getter to PinholeCameraModel
  • add a missing dependency when building the doc
  • fix sphinx doc path
  • Contributors: Jacob Panikulam, Vincent Rabaud

1.12.0 (2016-03-18)

  • depend on OpenCV3 only
  • Contributors: Vincent Rabaud

1.11.12 (2016-03-10)

  • issue #117 pull request #118 check all distortion coefficients to see if rectification ought to be done
  • Contributors: Lucas Walter

1.11.11 (2016-01-31)

  • clean up the doc files
  • fix a few warnings in doc jobs
  • Contributors: Vincent Rabaud

1.11.10 (2016-01-16)

1.11.9 (2015-11-29)

  • add a condition if D=None
  • fix compilation warnings
  • Contributors: Vincent Rabaud, YuOhara

1.11.8 (2015-07-15)

  • fixes #62, bug in Python rectifyPoint old opencv1 API
  • Simplify some OpenCV3 distinction
  • Contributors: Basheer Subei, Vincent Rabaud

1.11.7 (2014-12-14)

  • Merge pull request #53 from carnegieroboticsllc/patch-1 Update stereo_camera_model.cpp
  • Updated inline math for reprojecting a single disparity
  • Update stereo_camera_model.cpp Correct slight error in the Q matrix derivation
  • Updated Q matrix to account for cameras with different Fx and Fy values
  • Contributors: Carnegie Robotics LLC, Matt Alvarado, Vincent Rabaud

1.11.6 (2014-11-16)

  • Fixes in image_geometry for Python cv2 API
  • Fixed typo: np -> numpy
  • Added missing tfFrame method to Python PinholeCameraModel.
  • Removed trailing whitespace.
  • Contributors: Daniel Maturana

1.11.5 (2014-09-21)

  • get code to work with OpenCV3 actually fixes #46 properly
  • Contributors: Vincent Rabaud

1.11.4 (2014-07-27)

1.11.3 (2014-06-08)

  • pinhole_camera_model: fix implicit shared_ptr cast to bool for C++11 In C++11 boost::shared_ptr does not provide the implicit bool conversion operator anymore, so make the cast in pinhole_camera_model.h explicit. That does not hurt in older C++ standards and makes compilation with C++11 possible.
  • Contributors: Max Schwarz

1.11.2 (2014-04-28)

1.11.1 (2014-04-16)

1.11.0 (2014-02-15)

  • remove OpenCV 1 API
  • fixes #6
  • fix OpenCV dependencies
  • Contributors: Vincent Rabaud

1.10.15 (2014-02-07)

  • add assignment operator for StereoCameraModel
  • fixed Python rectifyImage implementation in PinholeCameraModel
  • Added operator= for the PinholeCameraModel. Added the operator= for the PinholeCameraModel. I am not sure if the PinholeCameraModel needs to have a destructor, too. To follow the \'rule of three\' it should actually have one.
  • Contributors: Tobias Bar, Valsamis Ntouskos, Vincent Rabaud

1.10.14 (2013-11-23 16:17)

  • Contributors: Vincent Rabaud

1.10.13 (2013-11-23 09:19)

  • Contributors: Vincent Rabaud

1.10.12 (2013-11-22)

  • \"1.10.12\"
  • Contributors: Vincent Rabaud

1.10.11 (2013-10-23)

  • Contributors: Vincent Rabaud

1.10.10 (2013-10-19)

  • Contributors: Vincent Rabaud

1.10.9 (2013-10-07)

  • fixes #23
  • Contributors: Vincent Rabaud

1.10.8 (2013-09-09)

  • update email address
  • Contributors: Lukas Bulwahn, Vincent Rabaud

1.10.7 (2013-07-17)

1.10.6 (2013-03-01)

1.10.5 (2013-02-11)

  • Add dependency on generated messages Catkin requires explicit enumeration of dependencies on generated messages. Add this declaration to properly flatten the dependency graph and force Catkin to generate geometry_msgs before compiling image_geometry.
  • Contributors: Adam Hachey

1.10.4 (2013-02-02)

1.10.3 (2013-01-17)

1.10.2 (2013-01-13)

  • fix ticket 4253
  • Contributors: Vincent Rabaud

1.10.1 (2013-01-10)

1.10.0 (2013-01-03)

1.9.15 (2013-01-02)

1.9.14 (2012-12-30)

1.9.13 (2012-12-15)

  • use the catkin macros for the
  • Contributors: Vincent Rabaud

1.9.12 (2012-12-14)

  • buildtool_depend catkin fix
  • Contributors: William Woodall

1.9.11 (2012-12-10)

1.9.10 (2012-10-04)

1.9.9 (2012-10-01)

  • fix dependencies
  • Contributors: Vincent Rabaud

1.9.8 (2012-09-30)

  • fix some dependencies
  • fix missing Python at install and fix some dependencies
  • Contributors: Vincent Rabaud

1.9.7 (2012-09-28 21:07)

  • add missing stuff
  • make sure we find catkin
  • Contributors: Vincent Rabaud

1.9.6 (2012-09-28 15:17)

  • make all the tests pass
  • comply to the new Catkin API
  • Contributors: Vincent Rabaud

1.9.5 (2012-09-15)

  • remove dependencies to the opencv2 ROS package
  • Contributors: Vincent Rabaud

1.9.4 (2012-09-13)

  • make sure the include folders are copied to the right place
  • Contributors: Vincent Rabaud

1.9.3 (2012-09-12)

1.9.2 (2012-09-07)

  • be more compliant to the latest catkin
  • added catkin_project() to cv_bridge, image_geometry, and opencv_tests
  • Contributors: Jonathan Binney, Vincent Rabaud

1.9.1 (2012-08-28 22:06)

  • remove things that were marked as ROS_DEPRECATED
  • Contributors: Vincent Rabaud

1.9.0 (2012-08-28 14:29)

  • catkinized opencv_tests by Jon Binney
  • fix ticket 5449
  • use OpenCV\'s projectPoints
  • remove the version check, let\'s trust OpenCV :)
  • revert the removal of opencv2
  • vision_opencv: Export OpenCV flags in manifests for image_geometry, cv_bridge.
  • finally get rid of opencv2 as it is a system dependency now
  • bump REQUIRED version of OpenCV to 2.3.2, which is what\'s in ros-fuerte-opencv
  • switch rosdep name to opencv2, to refer to ros-fuerte-opencv2
  • Adding a few missing headers so that client code may compile against pinhole camera model.
  • Adding opencv2 to all manifests, so that client packages may not break when using them.
  • baking in opencv debs and attempting a pre-release
  • image_geometry: (Python) Adjust K and P for ROI/binning. Also expose full resolution K and P. Add raw_roi property.
  • image_geometry: Add Tx, Ty getters (Python).
  • image_geometry: Added tf_frame and stamp properties. Only generate undistort maps when rectifyImage is called.
  • image_geometry: Fix for when D is empty (Python).
  • image_geometry: Take all D coefficients, not just the first 4 (Python).
  • image_geometry: Fix rectification in the presence of binning (#4848).
  • image_geometry: Fixed wg-ros-pkg #5019, error updating StereoCameraModel. Removed manifest dependency on cv_bridge.
  • image_geometry: fromCameraInfo() returns bool, true if parameters have changed since last call.
  • image_geometry: Accessors for full-res K, P.
  • image_geometry: Implemented toFullResolution(), toReducedResolution().
  • image_geometry: Implemented reducedResolution().
  • image_geometry: Implemented rectifiedRoi() with caching. Fixed bug that would cause rectification maps to be regenerated every time.
  • image_geometry: Implemented rectifyRoi().
  • image_geometry: Overloads of projection functions that return the output directly instead of through a reference parameter. Implemented unrectifyRoi(). Added fullResolution(), rawRoi().
  • image_geometry: Library-specific exception class.
  • image_geometry: PIMPL pattern for cached data, so I can change in patch releases if necessary. Changed projectPixelTo3dRay() to normalize to z=1.
  • image_geometry (rep0104): Added binning. Partially fixed ROI (not finding rectified ROI yet). Now interpreting distortion_model. Lots of code cleanup.
  • image_geometry (rep0104): Got tests passing again, were issues with D becoming variable-length.
  • image_geometry: Fixed swapped width/height in computing ROI undistort maps. Partially fixes #4206.
  • image_geometry: getDelta functions, getZ and getDisparity in C++ and Python. Docs and tests for them. Changed Python fx() and friends to pull values out of P instead of K.
  • image_geometry: Added C++ getDeltaU and getDeltaV.
  • #4201, implement/doc/test for getDeltaU getDeltaX getDeltaV getDeltaY
  • Added Ubuntu platform tags to manifest
  • #4083, projectPixelTo3dRay implemented
  • image_geometry: Added PinholeCameraModel::stamp() returning the time stamp.
  • image_geometry: Fixed bugs related to ignoring Tx & Ty in projectPixelTo3dRay and unrectifyPoint. Added Tx() and Ty() accessors.
  • image_geometry: Fixed #4063, PinholeCameraModel ignores Tx term in P matrix.
  • image_geometry: Implemented projectDisparityTo3d, #4019.
  • image_geometry: Implemented unrectifyPoint, with unit tests.
  • image_geometry: Fixed bug in rectifyPoint due to cv::undistortPoints not accepting double pt data, #4053.
  • image_geometry: Tweaked manifest.
  • image_geometry: Better manifest description.
  • Removed tfFrame sample
  • image_geometry: Doxygen main page, manifest updates.
  • image_geometry: Doxygen for StereoCameraModel.
  • image_geometry: Made Q calculation match old stereoproc one.
  • image_geometry: Tweaked projectDisparityImageTo3D API for handling missing values.
  • image_geometry: Added method to project disparity image to 3d. Added ConstPtr version of fromCameraInfo in StereoCameraModel.
  • image_geometry: Export linker flags. Fixed bug that could cause rectification maps to not be initialized before use.
  • Fixed path-handling on gtest for CMake 2.6
  • image_geometry: Added missing source file.
  • image_geometry: Added some C++ docs.
  • image_geometry: Minor cleanup of StereoCameraModel, added it to build. Put in copy constructors.
  • image_geometry: Switched pinhole_camera_model to use new C++ OpenCV types and functions.
  • Remove use of deprecated rosbuild macros
  • image_geometry (C++): Unit test for projecting points uv <-> xyz.
  • image_geometry (C++): Implemented more projection functions, added beginnings of the unit tests.
  • trigger rebuild
  • Enable rosdoc.yaml
  • docs
  • image_geometry: Started C++ API. PinholeCameraModel is in theory (untested) able to track state efficiently and rectify images.
  • First stereo test
  • Checkpoint
  • Skeleton of test
  • First cut
  • Contributors: Vincent Rabaud, ethanrublee, gerkey, jamesb, mihelich, vrabaud, wheeler

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

Dependant Packages

Name Repo Deps
ainstein_radar_tools github-AinsteinAI-ainstein_radar
apriltag_ros github-AprilRobotics-apriltag_ros
asr_ivt_bridge github-asr-ros-asr_ivt_bridge
ipa_3d_fov_visualization github-ipa320-cob_perception_common
criutils github-crigroup-criutils
depthimage_to_laserscan github-ros-perception-depthimage_to_laserscan
distance_map_opencv github-artivis-distance_map
ensenso_camera github-ensenso-ros_driver
haf_grasping github-davidfischinger-haf_grasping
hfl_driver github-continental-hfl_driver
camera_calibration github-ros-perception-image_pipeline
depth_image_proc github-ros-perception-image_pipeline
image_proc github-ros-perception-image_pipeline
stereo_image_proc github-ros-perception-image_pipeline
image_view2 github-jsk-ros-pkg-jsk_common
checkerboard_detector github-jsk-ros-pkg-jsk_recognition
jsk_pcl_ros github-jsk-ros-pkg-jsk_recognition
jsk_pcl_ros_utils github-jsk-ros-pkg-jsk_recognition
jsk_perception github-jsk-ros-pkg-jsk_recognition
jsk_recognition_utils github-jsk-ros-pkg-jsk_recognition
jsk_rviz_plugins github-jsk-ros-pkg-jsk_visualization
multirobot_map_merge github-hrnr-m-explore
swri_image_util github-swri-robotics-marti_common
multisense_ros github-carnegierobotics-multisense_ros
face_detector github-wg-perception-people
leg_detector github-wg-perception-people
laser_joint_processor github-UNR-RoboticsResearchLab-pr2_calibration
rqt_bag_exporter gitlab-InstitutMaupertuis-rqt_bag_exporter
rtabmap_ros github-introlab-rtabmap_ros
sciurus17_vision github-rt-net-sciurus17_ros
tuw_aruco github-tuw-robotics-tuw_marker_detection
tuw_checkerboard github-tuw-robotics-tuw_marker_detection
tuw_ellipses github-tuw-robotics-tuw_marker_detection
tuw_marker_pose_estimation github-tuw-robotics-tuw_marker_detection
velo2cam_calibration github-beltransen-velo2cam_calibration
vision_opencv github-ros-perception-vision_opencv
vision_opencv github-jsk-ros-pkg-vision_opencv_python3
visp_ros github-lagadic-visp_ros

Launch files

No launch files found


No message files found.


No service files found


No plugins found.

Recent questions tagged image_geometry at Robotics Stack Exchange