9 #ifndef mrpt_CStereoRectifyMap_H
10 #define mrpt_CStereoRectifyMap_H
76 inline bool isSet()
const {
return !m_dat_mapx_left.empty(); }
90 setFromCamParams(params);
112 void setAlpha(
double alpha);
120 void enableResizeOutput(
bool enable,
unsigned int target_width=0,
unsigned int target_height=0);
130 m_interpolation_method = interp;
139 void enableBothCentersCoincide(
bool enable=
true);
150 void setRectifyMaps(
const std::vector<int16_t> &left_x,
const std::vector<uint16_t> &left_y,
151 const std::vector<int16_t> &right_x,
const std::vector<uint16_t> &right_y );
154 void setRectifyMapsFast( std::vector<int16_t> &left_x, std::vector<uint16_t> &left_y,
155 std::vector<int16_t> &right_x, std::vector<uint16_t> &right_y );
183 const bool use_internal_mem_cache =
true )
const;
196 const bool use_internal_mem_cache =
true )
const;
201 const void* in_left_image,
202 const void* in_right_image,
203 void* out_left_image,
204 void* out_right_image)
const;
225 void internal_invalidate();
void setFromCamParams(const mrpt::obs::CObservationStereoImages &stereo_obs)
A wrapper to setFromCamParams() which takes the parameters from an stereo observation object...
bool isEnabledBothCentersCoincide() const
bool m_enable_both_centers_coincide
A class for storing images as grayscale or RGB bitmaps.
A pair (x,y) of pixel coordinates (integer resolution).
mrpt::utils::TStereoCamera m_rectified_image_params
Resulting images params.
double getAlpha() const
Return the alpha parameter.
mrpt::utils::TStereoCamera m_camera_params
A copy of the data provided by the user.
mrpt::utils::TImageSize getResizeOutputSize() const
Only when isEnabledResizeOutput() returns true, this gets the target size.
Structure to hold the parameters of a pinhole stereo camera model.
mrpt::utils::TInterpolationMethod m_interpolation_method
mrpt::utils::TImageSize m_resize_output_value
const mrpt::utils::TStereoCamera & getCameraParams() const
Returns the camera parameters which were used to generate the distortion map, as passed by the user t...
const mrpt::poses::CPose3DQuat & getRightCameraRot() const
See getLeftCameraRot()
Observation class for either a pair of left+right or left+disparity images from a stereo camera...
Use this class to rectify stereo images if the same distortion maps are reused over and over again...
A class used to store a 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,qz).
void setInterpolationMethod(const mrpt::utils::TInterpolationMethod interp)
Change remap interpolation method (default=Lineal).
void getStereoCameraParams(mrpt::utils::TStereoCamera &out_params) const
Populates a TStereoCamera structure with the parameters in leftCamera, rightCamera and rightCameraPos...
mrpt::utils::CImage m_cache2
Memory caches for in-place rectification speed-up.
TInterpolationMethod
Interpolation methods for images.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
bool isSet() const
Returns true if setFromCamParams() has been already called, false otherwise.
bool isEnabledResizeOutput() const
Returns whether resizing is enabled (default=false)
std::vector< int16_t > m_dat_mapx_right
mrpt::utils::TInterpolationMethod getInterpolationMethod() const
Get the currently selected interpolation method.
mrpt::poses::CPose3DQuat m_rot_right
The rotation applied to the left/right camera so their virtual image plane is the same after rectific...
const mrpt::poses::CPose3DQuat & getLeftCameraRot() const
After computing the rectification maps, get the rotation applied to the left/right camera so their vi...
std::vector< uint16_t > m_dat_mapy_right
Structure to hold the parameters of a pinhole camera model.