50 #ifndef BSFM_CAMERA_CAMERA_INTRINSICS_H
51 #define BSFM_CAMERA_CAMERA_INTRINSICS_H
53 #include <Eigen/Dense>
57 using Eigen::Matrix3d;
58 using Eigen::Vector3d;
70 int image_height,
double f_u,
double f_v,
double c_u,
71 double c_v,
double k1,
double k2,
double k3,
double k4,
80 void SetFU(
double f_u);
81 void SetFV(
double f_v);
82 void SetCU(
double c_u);
83 void SetCV(
double c_v);
85 void SetK(
double k1,
double k2,
double k3,
double k4,
double k5);
86 void SetK1(
double k1);
87 void SetK2(
double k2);
88 void SetK3(
double k3);
89 void SetK4(
double k4);
90 void SetK5(
double k5);
116 Matrix3d
Kinv()
const;
122 bool CameraToImage(
double cx,
double cy,
double cz,
double *u_distorted,
123 double *v_distorted)
const;
126 double *u_distorted,
double *v_distorted)
const;
129 double *u_normalized,
double *v_normalized)
const;
132 void Distort(
double u,
double v,
double *u_distorted,
133 double *v_distorted)
const;
136 void Undistort(
double u_distorted,
double v_distorted,
double *u,
double *v,
137 int iterations = 10)
const;
double VerticalFOV() const
void ImageToDirection(double u_distorted, double v_distorted, double *u_normalized, double *v_normalized) const
void SetImageLeft(int image_left)
void SetVerticalFOV(double vertical_fov)
bool DirectionToImage(double u_normalized, double v_normalized, double *u_distorted, double *v_distorted) const
void SetImageHeight(int image_height)
bool PointInImage(double u, double v) const
void SetK(double k1, double k2, double k3, double k4, double k5)
void SetImageWidth(int image_width)
void Distort(double u, double v, double *u_distorted, double *v_distorted) const
void SetImageTop(int image_top)
void Undistort(double u_distorted, double v_distorted, double *u, double *v, int iterations=10) const
double HorizontalFOV() const
void SetHorizontalFOV(double horizontal_fov)
bool CameraToImage(double cx, double cy, double cz, double *u_distorted, double *v_distorted) const