class sophus::KannalaBrandtK3TransformΒΆ
#include <kannala_brandt.h> class KannalaBrandtK3Transform { public: // typedefs using ProjInCameraZ1Plane = Eigen::Matrix<TScalar, 2, 1> ; using PixelImage = Eigen::Matrix<TScalar, 2, 1> ; using Params = Eigen::Matrix<TScalar, kNumParams, 1> ; using DistorationParams = Eigen::Matrix<TScalar, kNumDistortionParams, 1> ; // fields static constexpr int kNumDistortionParams = 4; static constexpr int kNumParams = kNumDistortionParams + 4; static constexpr const std::string_view kProjectionModel = "KannalaBrandtK3: fx, fy, cx, cy, kb0, kb1, kb2, kb3"; // methods template <class TParamsTypeT, class TPointTypeT> static PixelImage<typename TPointTypeT::Scalar> distort( Eigen::MatrixBase<TParamsTypeT> const& params, Eigen::MatrixBase<TPointTypeT> const& proj_point_in_camera_z1_plane ); template <class TScalar> static ProjInCameraZ1Plane<TScalar> undistort( Params<TScalar> const& params, PixelImage<TScalar> const& pixel_image ); template <class TParamsTypeT, class TPointTypeT> static Eigen::Matrix<typename TPointTypeT::Scalar, 2, 2> dxDistort( Eigen::MatrixBase<TParamsTypeT> const& params, Eigen::MatrixBase<TPointTypeT> const& proj_point_in_camera_z1_plane ); };