10 #ifndef mrpt_multiDesc_utils_H 11 #define mrpt_multiDesc_utils_H 36 std::map<int, std::map<int, std::deque<std::pair<TFeatureID, double>>>>>
52 const std::vector<int>& idx);
73 const unsigned int y,
double& mag,
double& ori);
90 const unsigned int y,
const unsigned int patchSize,
91 std::vector<double>& orientations,
const double& sigma);
107 std::vector<double>& hist,
const double& cbin,
const double& rbin,
108 const double& obin,
const double& mag,
const int d,
const int n);
128 const unsigned int y,
const unsigned int patchSize,
129 const double& orientation, std::vector<int32_t>& descriptor,
std::shared_ptr< CFeature > Ptr
bool computeMainOrientations(const mrpt::utils::CImage &image, const unsigned int x, const unsigned int y, const unsigned int patchSize, std::vector< double > &orientations, const double &sigma)
Computes the main orientations (within 80% of the peak value of orientation histogram) of a certain p...
A class for storing images as grayscale or RGB bitmaps.
void computeMultiResolutionDescriptors(const mrpt::utils::CImage &imageLeft, const mrpt::utils::CImage &imageRight, CMatchedFeatureList &matchedFeats, const TMultiResDescOptions &opts)
Computes the multi-resolution SIFT-like descriptor of a set of matched features.
Struct containing the output after matching multi-resolution SIFT-like descriptors.
bool computeGradient(const mrpt::utils::CImage &image, const unsigned int x, const unsigned int y, double &mag, double &ori)
Computes the gradient of certain pixel within the image.
void setProperScales(const CFeature::Ptr &feat1, const CFeature::Ptr &feat2, int &firstScale, int &lastScale)
Computes the initial and final scales where to look when finding a match between multi-resolution fea...
GLenum GLsizei GLenum GLenum const GLvoid * image
void computeHistogramOfOrientations(const mrpt::utils::CImage &image, const unsigned int x, const unsigned int y, const unsigned int patchSize, const double &orientation, std::vector< int32_t > &descriptor, const TMultiResDescOptions &opts, std::vector< int32_t > &hashCoeffs)
Computes the SIFT-like descriptor of a certain point within an image at the base scale, i.e.
int computeMoreDescriptors(const mrpt::utils::CImage &image, const CFeature::Ptr &inputFeat, CFeature::Ptr &outputFeat, const bool &lowerScales, const TMultiResDescOptions &opts)
Computes more multi-resolution SIFT-like descriptors for a feature using its position in a new image...
std::map< int, std::map< int, std::map< int, std::deque< std::pair< TFeatureID, double > > > > > TQuantizationTable
TMultiResMatchingOutput relocalizeMultiDesc(const mrpt::utils::CImage &image, CFeatureList &baseList, CFeatureList ¤tList, TQuantizationTable &qTable, const TMultiResDescOptions &desc_opts, const TMultiResDescMatchOptions &match_opts)
void interpolateHistEntry(std::vector< double > &hist, const double &cbin, const double &rbin, const double &obin, const double &mag, const int d, const int n)
Inserts the orientation value of a certain pixel within the keypoint neighbourhood into the histogram...
GLsizei const GLchar ** string
A list of visual features, to be used as output by detectors, as input/output by trackers, etc.
void insertHashCoeffs(const CFeature::Ptr &feat, TQuantizationTable &qTable)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Struct containing the options when computing the multi-resolution SIFT-like descriptors.
void updateBaseList(CFeatureList &baseList, const CFeatureList ¤tList, const std::vector< int > &idx)
void saveQTableToFile(const TQuantizationTable &qTable, const std::string &filename)
Struct containing the options when matching multi-resolution SIFT-like descriptors.
void checkScalesAndFindMore(CMatchedFeatureList &baseList, const CFeatureList ¤tList, const mrpt::utils::CImage ¤tImage, const TMultiResMatchingOutput &output, const TMultiResDescOptions &computeOpts, const TMultiResDescMatchOptions &matchOpts)
void computeMultiOrientations(const mrpt::utils::CImage &image, CFeatureList &list, const TMultiResDescOptions &opts)
Computes the multi-resolution SIFT-like descriptor of a list of features.
TMultiResMatchingOutput matchMultiResolutionFeatures(const CFeatureList &list1, CFeatureList &list2, const mrpt::utils::CImage &rightImage, const TMultiResDescMatchOptions &matchOpts, const TMultiResDescOptions &computeOpts)
Matches two CFeatureList containing mulit-resolution descriptors.