|
| | ScheimpflugCamera () |
| | Default constructor - creates camera with zero tilt angles.
|
| |
| | ScheimpflugCamera (const CameraT &cam, ScheimpflugAngles angles) |
| | Construct from camera and angle structure.
|
| |
| template<camera_model OtherCamT, typename T > |
| | ScheimpflugCamera (OtherCamT cam, T tau_x_angle, T tau_y_angle) |
| | Construct from different camera type and individual angles.
|
| |
| | ScheimpflugCamera (const ScheimpflugCamera &other) |
| | Copy constructor.
|
| |
| ScheimpflugCamera & | operator= (const ScheimpflugCamera &other) |
| | Copy assignment operator.
|
| |
| | ScheimpflugCamera (ScheimpflugCamera &&other) noexcept |
| | Move constructor.
|
| |
| ScheimpflugCamera & | operator= (ScheimpflugCamera &&other) noexcept |
| | Move assignment operator.
|
| |
| template<typename T > |
| Eigen::Matrix< T, 2, 1 > | apply_intrinsics (const Eigen::Matrix< T, 2, 1 > &plane_point) const |
| | Apply linear intrinsic parameters to plane coordinates.
|
| |
| template<typename T > |
| Eigen::Matrix< T, 2, 1 > | remove_intrinsics (const Eigen::Matrix< T, 2, 1 > &pixel) const |
| | Remove linear intrinsic parameters from pixel coordinates.
|
| |
| template<typename T > |
| auto | project (const Eigen::Matrix< T, 3, 1 > &x_camera) const -> Eigen::Matrix< T, 2, 1 > |
| | Project a 3D point in the camera frame to pixel coordinates.
|
| |
| template<typename T > |
| auto | unproject (const Eigen::Matrix< T, 2, 1 > &pixel) const -> Eigen::Matrix< T, 2, 1 > |
| | Unproject pixel coordinates to sensor plane coordinates.
|
| |
template<camera_model CameraT>
struct calib::ScheimpflugCamera< CameraT >
Camera model with a tilted sensor plane (Scheimpflug configuration).
The camera follows the central projection model but the image sensor is tilted with respect to the optical axis. The tilt is parameterised by two angles: tau_x is a rotation around the camera X axis and tau_y around the Y axis. Distortion is applied in the metric coordinates on the tilted sensor plane.
- Template Parameters
-
| CameraT | Underlying camera model type that satisfies camera_model concept |
Definition at line 35 of file scheimpflug.h.
template<camera_model CameraT>
template<typename T >
| Eigen::Matrix< T, 2, 1 > calib::ScheimpflugCamera< CameraT >::apply_intrinsics |
( |
const Eigen::Matrix< T, 2, 1 > & |
plane_point | ) |
const |
|
inline |
Apply linear intrinsic parameters to plane coordinates.
Maps plane coordinates m = (mx, my) to pixel coordinates using linear intrinsics only (no distortion). Delegates to underlying camera model. Typically: apply_intrinsics([x,y]) = [fx*x + skew*y + cx, fy*y + cy]
- Template Parameters
-
| T | Scalar type (double or ceres::Jet for automatic differentiation) |
- Parameters
-
| plane_point | 2D coordinates on the sensor plane |
- Returns
- 2D pixel coordinates after applying linear intrinsics
Definition at line 105 of file scheimpflug.h.
template<camera_model CameraT>
template<typename T >
| Eigen::Matrix< T, 2, 1 > calib::ScheimpflugCamera< CameraT >::remove_intrinsics |
( |
const Eigen::Matrix< T, 2, 1 > & |
pixel | ) |
const |
|
inline |
Remove linear intrinsic parameters from pixel coordinates.
Inverse operation: pixels -> plane coords m = (mx, my), linear part only. Typically: remove_intrinsics([u,v]) = [(u-cx - skew*((v-cy)/fy))/fx, (v-cy)/fy]
- Template Parameters
-
| T | Scalar type (double or ceres::Jet for automatic differentiation) |
- Parameters
-
| pixel | 2D pixel coordinates |
- Returns
- 2D plane coordinates after removing linear intrinsics
Definition at line 121 of file scheimpflug.h.