12template <
typename Scalar>
14 Scalar
fx = Scalar(0);
15 Scalar
fy = Scalar(0);
16 Scalar
cx = Scalar(0);
17 Scalar
cy = Scalar(0);
21template <
typename Scalar>
23 Eigen::Matrix<Scalar, 3, 3> kmtx = Eigen::Matrix<Scalar, 3, 3>::Zero();
26 kmtx(0, 1) =
cam.skew;
29 kmtx(2, 2) = Scalar(1);
33template <
typename T,
typename Scalar>
35 -> Eigen::Matrix<T, 2, 1> {
36 T y_coord = (pixel.y() - T(
cam.cy)) / T(
cam.fy);
37 T x_coord = (pixel.x() - T(
cam.cx) - T(
cam.skew) * y_coord) / T(
cam.fx);
38 return {x_coord, y_coord};
41template <
typename T,
typename Scalar>
43 const Eigen::Matrix<T, 2, 1>& norm_xy) -> Eigen::Matrix<T, 2, 1> {
44 return {T(
cam.fx) * norm_xy.x() + T(
cam.skew) * norm_xy.y() + T(
cam.cx),
45 T(
cam.fy) * norm_xy.y() + T(
cam.cy)};
std::vector< Eigen::Isometry3d > cam
Linear multi-camera extrinsics initialisation (DLT)
auto normalize(const CameraMatrixT< Scalar > &cam, const Eigen::Matrix< T, 2, 1 > &pixel) -> Eigen::Matrix< T, 2, 1 >
auto matrix(const CameraMatrixT< Scalar > &cam) -> Eigen::Matrix< Scalar, 3, 3 >
auto denormalize(const CameraMatrixT< Scalar > &cam, const Eigen::Matrix< T, 2, 1 > &norm_xy) -> Eigen::Matrix< T, 2, 1 >
static constexpr double k_fx_min
static constexpr double k_cx_min
static constexpr double k_fy_max
static constexpr double k_skew_max
static constexpr double k_cy_min
static constexpr double k_fy_min
static constexpr double k_cy_max
static constexpr double k_skew_min
static constexpr double k_fx_max
static constexpr double k_cx_max