-
Notifications
You must be signed in to change notification settings - Fork 190
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
Added equidistant distortion model const #109
Conversation
This looks reasonable. Can you link to some more documentation on this distortion model? |
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 |
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.
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>
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>
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>
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)
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)
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>
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>
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