Go to the documentation of this file.
10 #ifndef mrpt_vision_pinhole_H
11 #define mrpt_vision_pinhole_H
39 const std::vector<mrpt::math::TPoint3D> &in_points_3D,
42 std::vector<mrpt::utils::TPixelCoordf> &projectedPoints,
43 bool accept_points_behind =
false
51 template <
bool INVERSE_CAM_POSE>
65 cam_params.
cx() + cam_params.
fx() * x/z,
66 cam_params.
cy() + cam_params.
fy() * y/z );
70 template <
typename POINT>
72 const POINT &in_point_wrt_cam,
78 out_projectedPoints.
x = cam_params.
cx() + cam_params.
fx() * in_point_wrt_cam.x/in_point_wrt_cam.z;
79 out_projectedPoints.
y = cam_params.
cy() + cam_params.
fy() * in_point_wrt_cam.y/in_point_wrt_cam.z;
96 const std::vector<mrpt::math::TPoint3D> &in_points_3D,
99 const std::vector<double> & distortionParams,
100 std::vector<mrpt::utils::TPixelCoordf> &projectedPoints,
101 bool accept_points_behind =
false
118 bool accept_points_behind =
false
123 const std::vector<mrpt::math::TPoint3D> &P,
126 std::vector<mrpt::utils::TPixelCoordf> &pixels,
127 bool accept_points_behind =
false
139 const std::vector<mrpt::utils::TPixelCoordf> &srcDistortedPixels,
140 std::vector<mrpt::utils::TPixelCoordf> &dstUndistortedPixels,
142 const std::vector<double> & distortionParams );
151 const std::vector<mrpt::utils::TPixelCoordf> &srcDistortedPixels,
152 std::vector<mrpt::utils::TPixelCoordf> &dstUndistortedPixels,
void inverseComposePoint(const double gx, const double gy, const double gz, double &lx, double &ly, double &lz, mrpt::math::CMatrixFixedNumeric< double, 3, 3 > *out_jacobian_df_dpoint=NULL, mrpt::math::CMatrixFixedNumeric< double, 3, 6 > *out_jacobian_df_dpose=NULL, mrpt::math::CMatrixFixedNumeric< double, 3, 6 > *out_jacobian_df_dse3=NULL) const
Computes the 3D point L such as .
void VISION_IMPEXP projectPoints_with_distortion(const std::vector< mrpt::math::TPoint3D > &in_points_3D, const mrpt::poses::CPose3D &cameraPose, const mrpt::math::CMatrixDouble33 &intrinsicParams, const std::vector< double > &distortionParams, std::vector< mrpt::utils::TPixelCoordf > &projectedPoints, bool accept_points_behind=false)
Project a set of 3D points into a camera at an arbitrary 6D pose using its calibration matrix and dis...
double z
X,Y,Z coordinates.
mrpt::utils::TPixelCoordf projectPoint_no_distortion(const mrpt::utils::TCamera &cam_params, const mrpt::poses::CPose3D &F, const mrpt::math::TPoint3D &P)
Project a single 3D point with global coordinates P into a camera at pose F, without distortion param...
void VISION_IMPEXP projectPoints_no_distortion(const std::vector< mrpt::math::TPoint3D > &in_points_3D, const mrpt::poses::CPose3D &cameraPose, const mrpt::math::CMatrixDouble33 &intrinsicParams, std::vector< mrpt::utils::TPixelCoordf > &projectedPoints, bool accept_points_behind=false)
Project a set of 3D points into a camera at an arbitrary 6D pose using its calibration matrix (undist...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
double cy() const
Get the value of the principal point y-coordinate (in pixels).
A class used to store a 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,...
double cx() const
Get the value of the principal point x-coordinate (in pixels).
void composePoint(double lx, double ly, double lz, double &gx, double &gy, double &gz, mrpt::math::CMatrixFixedNumeric< double, 3, 3 > *out_jacobian_df_dpoint=NULL, mrpt::math::CMatrixFixedNumeric< double, 3, 6 > *out_jacobian_df_dpose=NULL, mrpt::math::CMatrixFixedNumeric< double, 3, 6 > *out_jacobian_df_dse3=NULL, bool use_small_rot_approx=false) const
An alternative, slightly more efficient way of doing with G and L being 3D points and P this 6D pose...
double fx() const
Get the value of the focal length x-value (in pixels).
void VISION_IMPEXP undistort_points(const std::vector< mrpt::utils::TPixelCoordf > &srcDistortedPixels, std::vector< mrpt::utils::TPixelCoordf > &dstUndistortedPixels, const mrpt::math::CMatrixDouble33 &intrinsicParams, const std::vector< double > &distortionParams)
Undistort a list of points given by their pixel coordinates, provided the camera matrix and distortio...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
void VISION_IMPEXP undistort_point(const mrpt::utils::TPixelCoordf &inPt, mrpt::utils::TPixelCoordf &outPt, const mrpt::utils::TCamera &cameraModel)
Undistort one point given by its pixel coordinates and the camera parameters.
A numeric matrix of compile-time fixed size.
double fy() const
Get the value of the focal length y-value (in pixels).
Structure to hold the parameters of a pinhole camera model.
A pair (x,y) of pixel coordinates (subpixel resolution).
void VISION_IMPEXP projectPoint_with_distortion(const mrpt::math::TPoint3D &in_point_wrt_cam, const mrpt::utils::TCamera &in_cam_params, mrpt::utils::TPixelCoordf &out_projectedPoints, bool accept_points_behind=false)
Project one 3D point into a camera using its calibration matrix and distortion parameters (radial and...
Page generated by Doxygen 1.8.16 for MRPT 1.4.0 SVN: at Mon Oct 14 23:08:25 UTC 2019 | | |