28#ifndef UTIL3D_FEATURES_H_
29#define UTIL3D_FEATURES_H_
31#include <rtabmap/core/rtabmap_core_export.h>
33#include <opencv2/core/version.hpp>
34#if CV_MAJOR_VERSION < 5
35#include <opencv2/calib3d/calib3d.hpp>
37#include <opencv2/calib.hpp>
39#include <rtabmap/core/Transform.h>
40#include <rtabmap/core/CameraModel.h>
41#include <rtabmap/core/StereoCameraModel.h>
76 const std::vector<cv::KeyPoint> & keypoints,
77 const cv::Mat & depth,
78 const std::vector<CameraModel> & cameraModels,
87 const std::vector<cv::KeyPoint> & keypoints,
88 const cv::Mat & depth,
117 const std::vector<cv::KeyPoint> & keypoints,
118 const cv::Mat & disparity,
154 const std::vector<cv::Point2f> & leftCorners,
155 const std::vector<cv::Point2f> & rightCorners,
157 const std::vector<unsigned char> & mask = std::vector<unsigned char>(),
161std::map<int, cv::Point3f> RTABMAP_CORE_EXPORT generateWords3DMono(
162 const std::map<int, cv::KeyPoint> & kpts,
163 const std::map<int, cv::KeyPoint> & previousKpts,
166 float ransacReprojThreshold = 3.0f,
167 float ransacConfidence = 0.99f,
168 int varianceMedianRatio = 4,
169 const std::map<int, cv::Point3f> & refGuess3D = std::map<int, cv::Point3f>(),
170 double * variance = 0,
171 std::vector<int> * matchesOut = 0);
190std::multimap<int, cv::KeyPoint> RTABMAP_CORE_EXPORT
aggregate(
191 const std::list<int> & wordIds,
192 const std::vector<cv::KeyPoint> & keypoints);
Represents a pinhole camera model containing intrinsic and extrinsic parameters, used for projection,...
A class representing a calibrated stereo camera system.
std::vector< cv::Point3f > RTABMAP_CORE_EXPORT generateKeypoints3DDepth(const std::vector< cv::KeyPoint > &keypoints, const cv::Mat &depth, const std::vector< CameraModel > &cameraModels, float minDepth=0, float maxDepth=0)
Projects 2D keypoints to 3D space using the provided depth image and camera models.
std::vector< cv::Point3f > RTABMAP_CORE_EXPORT generateKeypoints3DStereo(const std::vector< cv::Point2f > &leftCorners, const std::vector< cv::Point2f > &rightCorners, const StereoCameraModel &model, const std::vector< unsigned char > &mask=std::vector< unsigned char >(), float minDepth=0, float maxDepth=0)
Computes 3D keypoints from corresponding 2D points in a stereo image pair.
std::multimap< int, cv::KeyPoint > RTABMAP_CORE_EXPORT aggregate(const std::list< int > &wordIds, const std::vector< cv::KeyPoint > &keypoints)
Aggregates word IDs and corresponding keypoints into a multimap.
std::vector< cv::Point3f > RTABMAP_CORE_EXPORT generateKeypoints3DDisparity(const std::vector< cv::KeyPoint > &keypoints, const cv::Mat &disparity, const StereoCameraModel &stereoCameraModel, float minDepth=0, float maxDepth=0)
Projects 2D keypoints into 3D space using a disparity image and a stereo camera model.