Class sym::OrthographicCameraCal¶
-
template<typename ScalarType>
class OrthographicCameraCal¶ Autogenerated C++ implementation of
symforce.cam.orthographic_camera_cal.OrthographicCameraCal
.Orthographic camera model with four parameters [fx, fy, cx, cy].
It would be possible to define orthographic cameras with only two parameters [fx, fy] but we keep the [cx, cy] parameters for consistency with the CameraCal interface.
The orthographic camera model can be thought of as a special case of the LinearCameraCal model, where (x,y,z) in the camera frame projects to pixel (x * fx + cx, y * fy + cy). The z-coordinate of the point is ignored in the projection, except that only points with positive z-coordinates are considered valid.
Because this is a noncentral camera model, the camera_ray_from_pixel function is not implemented.
Public Functions
-
inline OrthographicCameraCal(const Eigen::Matrix<Scalar, 2, 1> &focal_length, const Eigen::Matrix<Scalar, 2, 1> &principal_point)¶
-
inline explicit OrthographicCameraCal(const DataVec &data, bool normalize = true)¶
Construct from data vec
- Parameters:
normalize – Project to the manifold on construction. This ensures numerical stability as this constructor is called after each codegen operation. Constructing from a normalized vector may be faster, e.g. with
FromStorage
.
-
Eigen::Matrix<Scalar, 2, 1> PixelFromCameraPoint(const Eigen::Matrix<Scalar, 3, 1> &point, const Scalar epsilon, Scalar *const is_valid = nullptr) const¶
Project a 3D point in the camera frame into 2D pixel coordinates.
Returns: pixel: (x, y) coordinate in pixels if valid is_valid: 1 if the operation is within bounds else 0
-
Eigen::Matrix<Scalar, 2, 1> PixelFromCameraPointWithJacobians(const Eigen::Matrix<Scalar, 3, 1> &point, const Scalar epsilon, Scalar *const is_valid = nullptr, Eigen::Matrix<Scalar, 2, 4> *const pixel_D_cal = nullptr, Eigen::Matrix<Scalar, 2, 3> *const pixel_D_point = nullptr) const¶
Project a 3D point in the camera frame into 2D pixel coordinates.
Returns: pixel: (x, y) coordinate in pixels if valid is_valid: 1 if the operation is within bounds else 0 pixel_D_cal: Derivative of pixel with respect to intrinsic calibration parameters pixel_D_point: Derivative of pixel with respect to point
-
template<typename ToScalar>
inline OrthographicCameraCal<ToScalar> Cast() const¶
-
inline bool operator==(const OrthographicCameraCal &rhs) const¶
-
inline bool operator!=(const OrthographicCameraCal &rhs) const¶
Public Static Functions
-
static inline constexpr int32_t StorageDim()¶
-
static inline OrthographicCameraCal FromStorage(const Scalar *const vec)¶
-
inline OrthographicCameraCal(const Eigen::Matrix<Scalar, 2, 1> &focal_length, const Eigen::Matrix<Scalar, 2, 1> &principal_point)¶