10 #ifndef mrpt_vision_utils_H 11 #define mrpt_vision_utils_H 60 int y_search_size=-1);
93 const double focalLengthX,
94 const double focalLengthY,
96 const double centerY);
143 unsigned int camIndex = 0,
144 unsigned int resolutionX = 320,
145 unsigned int resolutionY = 240 );
158 CFeatureList & leftList,
159 CFeatureList & rightList,
160 float threshold = 1.0);
168 const CFeatureList & list,
177 const poses::CPose3D & Rt );
214 const CFeatureList & list1,
215 const CFeatureList & list2,
216 CMatchedFeatureList & matches,
217 const TMatchingOptions & options = TMatchingOptions(),
218 const TStereoSystemParams &
params = TStereoSystemParams() );
228 const CMatchedFeatureList & mList,
249 const CFeatureList & theList,
253 const CMatchedFeatureList & matches,
255 std::vector<mrpt::math::TPoint3D> & out_points );
264 const CFeatureList & leftList,
265 const CFeatureList & rightList,
266 std::vector<mrpt::math::TPoint3D> & vP3D,
267 const TStereoSystemParams &
params = TStereoSystemParams() );
276 const CFeaturePtr & leftFeat,
277 const CFeaturePtr & rightFeat,
279 const TStereoSystemParams &
params = TStereoSystemParams() );
288 CMatchedFeatureList & mfList,
289 const TStereoSystemParams &
param,
301 CFeatureList & leftList,
302 CFeatureList & rightList,
303 const TStereoSystemParams &
param,
313 const std::vector<double> & sg,
324 const CMatchedFeatureList & inMatches,
326 const double & baseline,
328 const std::vector<double> & sg,
338 const std::vector<double> & sg,
void VISION_IMPEXP projectMatchedFeatures(const CMatchedFeatureList &matches, const mrpt::utils::TStereoCamera &stereo_camera, std::vector< mrpt::math::TPoint3D > &out_points)
A pair (x,y) of pixel coordinates (subpixel resolution).
double VISION_IMPEXP computeSAD(const mrpt::utils::CImage &patch1, const mrpt::utils::CImage &patch2)
Calculates the Sum of Absolutes Differences (range [0,1]) between two patches.
Declares a matrix of booleans (non serializable).
void VISION_IMPEXP cloudsToMatchedList(const mrpt::obs::CObservationVisualLandmarks &cloud1, const mrpt::obs::CObservationVisualLandmarks &cloud2, mrpt::utils::TMatchingPairList &outList)
Transform two clouds of 3D points into a matched list of points ...
A class for storing images as grayscale or RGB bitmaps.
void VISION_IMPEXP StereoObs2BRObs(const mrpt::obs::CObservationStereoImages &inObs, const std::vector< double > &sg, mrpt::obs::CObservationBearingRange &outObs)
Converts a stereo images observation into a bearing and range observation.
Declares a class derived from "CObservation" that stores a Landmarks Map as seen from a stereo camera...
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction...
GLenum GLsizei GLenum GLenum const GLvoid * image
void VISION_IMPEXP addFeaturesToImage(const mrpt::utils::CImage &inImg, const CFeatureList &theList, mrpt::utils::CImage &outImg)
Draw rectangles around each of the features on a copy of the input image.
void VISION_IMPEXP projectMatchedFeature(const CFeaturePtr &leftFeat, const CFeaturePtr &rightFeat, mrpt::math::TPoint3D &p3D, const TStereoSystemParams ¶ms=TStereoSystemParams())
Computes the 3D position of a particular matched feature.
Structure to hold the parameters of a pinhole stereo camera model.
mrpt::math::TPoint3D VISION_IMPEXP pixelTo3D(const mrpt::utils::TPixelCoordf &xy, const mrpt::math::CMatrixDouble33 &A)
Extract a UNITARY 3D vector in the direction of a 3D point, given from its (x,y) pixels coordinates...
A class for storing a map of 3D probabilistic landmarks.
void VISION_IMPEXP openCV_cross_correlation(const mrpt::utils::CImage &img, const mrpt::utils::CImage &patch_img, size_t &x_max, size_t &y_max, double &max_val, int x_search_ini=-1, int y_search_ini=-1, int x_search_size=-1, int y_search_size=-1)
Computes the correlation between this image and another one, encapsulating the openCV function cvMatc...
Observation class for either a pair of left+right or left+disparity images from a stereo camera...
double VISION_IMPEXP computeMsd(const mrpt::utils::TMatchingPairList &list, const poses::CPose3D &Rt)
Computes the mean squared distance between a set of 3D correspondences ...
void VISION_IMPEXP flip(mrpt::utils::CImage &img)
Invert an image using OpenCV function.
mrpt::maps::CLandmarksMap CLandmarksMap
Backward compatible typedef.
void VISION_IMPEXP rowChecking(CFeatureList &leftList, CFeatureList &rightList, float threshold=1.0)
Search for correspondences which are not in the same row and deletes them.
mrpt::obs::CObservationVisualLandmarks CObservationVisualLandmarks
Backward compatible typedef.
float VISION_IMPEXP computeMainOrientation(const mrpt::utils::CImage &image, unsigned int x, unsigned int y)
Computes the main orientation of a set of points with an image (for using in SIFT-based algorithms) ...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
void VISION_IMPEXP computeStereoRectificationMaps(const mrpt::utils::TCamera &cam1, const mrpt::utils::TCamera &cam2, const mrpt::poses::CPose3D &rightCameraPose, void *outMap1x, void *outMap1y, void *outMap2x, void *outMap2y)
Computes a pair of x-and-y maps for stereo rectification from a pair of cameras and the relative pose...
size_t VISION_IMPEXP matchFeatures(const CFeatureList &list1, const CFeatureList &list2, CMatchedFeatureList &matches, const TMatchingOptions &options=TMatchingOptions(), const TStereoSystemParams ¶ms=TStereoSystemParams())
Find the matches between two lists of features which must be of the same type.
This observation represents a number of range-bearing value pairs, each one for a detected landmark...
void VISION_IMPEXP generateMask(const CMatchedFeatureList &mList, mrpt::math::CMatrixBool &mask1, mrpt::math::CMatrixBool &mask2, int wSize=10)
Calculates the Sum of Absolutes Differences (range [0,1]) between two patches.
void VISION_IMPEXP deleteRepeatedFeats(CFeatureList &list)
Explore the feature list and removes features which are in the same coordinates.
void VISION_IMPEXP getDispersion(const CFeatureList &list, mrpt::math::CVectorFloat &std, mrpt::math::CVectorFloat &mean)
Computes the dispersion of the features in the image.
void VISION_IMPEXP normalizeImage(const mrpt::utils::CImage &image, mrpt::utils::CImage &nimage)
Normalizes the brigthness and contrast of an image by setting its mean value to zero and its standard...
GLenum const GLfloat * params
mrpt::math::CMatrixDouble33 VISION_IMPEXP defaultIntrinsicParamsMatrix(unsigned int camIndex=0, unsigned int resolutionX=320, unsigned int resolutionY=240)
Returns the stored, default intrinsic params matrix for a given camera:
EIGEN_STRONG_INLINE double mean() const
Computes the mean of the entire matrix.
Structure to hold the parameters of a pinhole camera model.
mrpt::math::CMatrixDouble33 VISION_IMPEXP buildIntrinsicParamsMatrix(const double focalLengthX, const double focalLengthY, const double centerX, const double centerY)
Builds the intrinsic parameters matrix A from parameters: