Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added equidistant distortion model const #109

Merged
merged 1 commit into from
Jan 12, 2018

Conversation

alexzzhu
Copy link
Contributor

@alexzzhu alexzzhu commented Sep 3, 2017

Adds a new distortion model to the const definitions for fisheye cameras. Used in the following PR in vision_opencv/image_geometry to incorporate fisheye rectification into the standard pipeline:
ros-perception/vision_opencv#184

@tfoote
Copy link
Member

tfoote commented Sep 5, 2017

This looks reasonable. Can you link to some more documentation on this distortion model?

@alexzzhu
Copy link
Contributor Author

alexzzhu commented Sep 6, 2017

The distortion model is described in the paper "A Generic Camera Model and Calibration Method for Conventional, Wide-Angle, and Fish-Eye Lenses" by Juho Kannala and Sami S. Brand (paper), where it's referred to as the equidistance model (Kalibr refers to it as the equidistant model, hence the naming here). The model is used in OpenCV, Kalibr, and the MATLAB Camera Calibration Toolbox

@tfoote tfoote merged commit 1a93c47 into ros:jade-devel Jan 12, 2018
mintar added a commit to mintar/common_interfaces that referenced this pull request Nov 12, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.
mintar added a commit to mintar/common_interfaces that referenced this pull request Nov 12, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.

Signed-off-by: Martin Günther <martin.guenther@dfki.de>
mintar added a commit to mintar/common_interfaces that referenced this pull request Nov 12, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.

Signed-off-by: Martin Günther <martin.guenther@dfki.de>
clalancette pushed a commit to ros2/common_interfaces that referenced this pull request Nov 12, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.

Signed-off-by: Martin Günther <martin.guenther@dfki.de>
mergify bot pushed a commit to ros2/common_interfaces that referenced this pull request Nov 30, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.

Signed-off-by: Martin Günther <martin.guenther@dfki.de>
(cherry picked from commit f22c436)
mergify bot pushed a commit to ros2/common_interfaces that referenced this pull request Nov 30, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.

Signed-off-by: Martin Günther <martin.guenther@dfki.de>
(cherry picked from commit f22c436)
jacobperron pushed a commit to ros2/common_interfaces that referenced this pull request Dec 2, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.

Signed-off-by: Martin Günther <martin.guenther@dfki.de>
(cherry picked from commit f22c436)

Co-authored-by: Martin Günther <martin.guenther@dfki.de>
clalancette pushed a commit to ros2/common_interfaces that referenced this pull request Dec 6, 2021
This is a forward-port from ROS1 noetic:

ros/common_msgs#109

The model is based on the following publication:

J. Kannala and S. Brandt (2006). A Generic Camera Model and Calibration
Method for Conventional, Wide-Angle, and Fish-Eye Lenses, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no.
8, pp. 1335-1340

There are many different names for this distortion model:

* Kannala and Brandt call it "Generic Camera Model". Sometimes they also
  call it "equidistance projection model".
* Kalibr calls it "equidistant": https://github.com/ethz-asl/kalibr/wiki/supported-models
* Camodocal calls it "kannala-brandt": https://github.com/hengli/camodocal
* OpenCV calls it "fisheye": https://stackoverflow.com/a/34309644/3036576

All of these are just different names for the same model.

Signed-off-by: Martin Günther <martin.guenther@dfki.de>
(cherry picked from commit f22c436)

Co-authored-by: Martin Günther <martin.guenther@dfki.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants