#include <place_recognition.h>
Public Member Functions | |
CvSeq * | cvSURFDescriptor (const CvArr *_img, CvMemStorage *storage, double quality, int flags=0) |
void | cvSURFInitialize () |
bool | drawSURFFeatures (IplImage *img, CvSeq *feat, int n) |
bool | extractGlobalFeature (std::vector< std::vector< pcl::PointXYZ > > &points, GlobalFeature *global_feature) |
CvSeq * | findSURFMatchPairs (CvSeq *sep, int n, std::vector< SURFDescriptor > sfeat, CvMemStorage *storage) |
double | getMatchDegree (CvSeq *seq) |
PlaceRecognition () | |
void | readFeaturesFromFile () |
~PlaceRecognition () | |
Public Attributes | |
int | eff_match_pairs |
QStringList | files |
std::vector< GlobalFeature > | global_descriptors |
std::vector< std::vector < SURFDescriptor > > | surf_descriptors |
Private Member Functions | |
void | assignPartKey (SURFKDNode *kd_node, int flags) |
SURFKDNode * | buildKDTree (SURFDescriptor *features, int n, int flags) |
double | calculateErr (CvSeq *seq, double RMatrix[9], double TVector[3]) |
void | cutFalseMatrix () |
double | cvCalHaarPattern (int *origin, int *t, int widthStep) |
CvSeq * | cvFastHessianDetector (const CvMat *sum, CvMemStorage *storage, double quality) |
void | cvResizeHaarPattern (int *t_s, int *t_d, int OldSize, int NewSize) |
void | cvSURFGaussian (CvMat *mat, double s) |
SURFPoint | cvSURFPoint (int x, int y, int laplacian, int size, int octave, int scale) |
void | decreasePqNodeKey (PqNode *pq_array, int i, int key) |
double | descrDistSq (SURFDescriptor *f1, SURFDescriptor *f2, int flags) |
int | doubleArray (void **array, int n, int size) |
void | drawSURFLoweFeature (IplImage *, SURFDescriptor *, CvScalar) |
void | drawSURFLoweFeatures (IplImage *, CvSeq *, int) |
void | execute (CvSeq *seq) |
void | expandKDNodeSubtree (SURFKDNode *kd_node, int flags) |
SURFKDNode * | exploreToLeaf (SURFKDNode *kd_node, SURFDescriptor *feat, MinPq *min_pq, int flags) |
SURFKDNode * | initKDNode (SURFDescriptor *features, int n) |
MinPq * | initMinPq () |
void | initSelect (CvSeq *seq) |
int | insertIntoNbrArray (SURFDescriptor *feat, SURFDescriptor **nbrs, int n, int k) |
int | insertMinPq (MinPq *min_pq, void *data, int key) |
int | Jcbi (double A[], double V[]) |
int | KDTreeBbfKnn (SURFKDNode *kd_root, SURFDescriptor *feat, int k, SURFDescriptor ***nbrs, int max_nn_chks, int flags) |
bool | Marix (CvSeq *seq, double *RMatrix, double *TVector) |
void | Matrix () |
void * | minPqExtractMin (MinPq *min_pq) |
int | partitionArray (double *array, int n, double pivot) |
void | partitionFeatures (SURFKDNode *kd_node) |
void | releaseMinPq (MinPq **min_pq) |
void | restoreMinPqOrder (PqNode *pq_array, int i, int n) |
double | selectMedian (double *array, int n) |
double | selectRank (double *array, int n, int r) |
void | sortInsertion (double *array, int n) |
void | SVD () |
void | transMatrix (CvSeq *seq) |
Private Attributes | |
double | A [9] |
double | A_AH [9] |
double | AH_A [9] |
pcl::PointXYZ | centroid1 |
pcl::PointXYZ | centroid2 |
double | cos_cache [3600] |
CvMat * | dx_cache |
CvMat * | dy_cache |
CvMat * | gauss_kernel_cache |
std::vector< bool > | if_false_pairs |
std::vector< pcl::PointXYZ > | lib_points |
IplImage * | region_cache |
IplImage * | regions_cache [SCANOCTAVE *FILTERSCALE] |
double | RMatrix [9] |
std::vector< double * > | RMatrixPlist |
std::vector< pcl::PointXYZ > | sce_points |
double | sin_cache [3600] |
double | TVector [3] |
std::vector< double * > | TVectorPlist |
double | U [9] |
double | V [9] |
CvMat * | wrap |
Definition at line 115 of file place_recognition.h.
Definition at line 75 of file place_recognition.cpp.
Definition at line 80 of file place_recognition.cpp.
void PlaceRecognition::assignPartKey | ( | SURFKDNode * | kd_node, |
int | flags | ||
) | [private] |
Definition at line 881 of file place_recognition.cpp.
SURFKDNode * PlaceRecognition::buildKDTree | ( | SURFDescriptor * | features, |
int | n, | ||
int | flags | ||
) | [private] |
Definition at line 835 of file place_recognition.cpp.
double PlaceRecognition::calculateErr | ( | CvSeq * | seq, |
double | RMatrix[9], | ||
double | TVector[3] | ||
) | [private] |
Definition at line 1821 of file place_recognition.cpp.
void PlaceRecognition::cutFalseMatrix | ( | ) | [private] |
Definition at line 1758 of file place_recognition.cpp.
double PlaceRecognition::cvCalHaarPattern | ( | int * | origin, |
int * | t, | ||
int | widthStep | ||
) | [private] |
Definition at line 577 of file place_recognition.cpp.
CvSeq * PlaceRecognition::cvFastHessianDetector | ( | const CvMat * | sum, |
CvMemStorage * | storage, | ||
double | quality | ||
) | [private] |
Definition at line 414 of file place_recognition.cpp.
void PlaceRecognition::cvResizeHaarPattern | ( | int * | t_s, |
int * | t_d, | ||
int | OldSize, | ||
int | NewSize | ||
) | [private] |
Definition at line 561 of file place_recognition.cpp.
CvSeq * PlaceRecognition::cvSURFDescriptor | ( | const CvArr * | _img, |
CvMemStorage * | storage, | ||
double | quality, | ||
int | flags = 0 |
||
) |
Definition at line 174 of file place_recognition.cpp.
void PlaceRecognition::cvSURFGaussian | ( | CvMat * | mat, |
double | s | ||
) | [private] |
Definition at line 158 of file place_recognition.cpp.
void PlaceRecognition::cvSURFInitialize | ( | ) |
Definition at line 131 of file place_recognition.cpp.
SURFPoint PlaceRecognition::cvSURFPoint | ( | int | x, |
int | y, | ||
int | laplacian, | ||
int | size, | ||
int | octave, | ||
int | scale | ||
) | [private] |
Definition at line 594 of file place_recognition.cpp.
void PlaceRecognition::decreasePqNodeKey | ( | PqNode * | pq_array, |
int | i, | ||
int | key | ||
) | [private] |
Definition at line 1160 of file place_recognition.cpp.
double PlaceRecognition::descrDistSq | ( | SURFDescriptor * | f1, |
SURFDescriptor * | f2, | ||
int | flags | ||
) | [private] |
Definition at line 1262 of file place_recognition.cpp.
int PlaceRecognition::doubleArray | ( | void ** | array, |
int | n, | ||
int | size | ||
) | [private] |
Definition at line 1352 of file place_recognition.cpp.
bool PlaceRecognition::drawSURFFeatures | ( | IplImage * | img, |
CvSeq * | feat, | ||
int | n | ||
) |
Definition at line 606 of file place_recognition.cpp.
void PlaceRecognition::drawSURFLoweFeature | ( | IplImage * | img, |
SURFDescriptor * | feat, | ||
CvScalar | color | ||
) | [private] |
Definition at line 636 of file place_recognition.cpp.
void PlaceRecognition::drawSURFLoweFeatures | ( | IplImage * | img, |
CvSeq * | feat, | ||
int | n | ||
) | [private] |
Definition at line 622 of file place_recognition.cpp.
void PlaceRecognition::execute | ( | CvSeq * | seq | ) | [private] |
Definition at line 1421 of file place_recognition.cpp.
void PlaceRecognition::expandKDNodeSubtree | ( | SURFKDNode * | kd_node, |
int | flags | ||
) | [private] |
Definition at line 863 of file place_recognition.cpp.
SURFKDNode * PlaceRecognition::exploreToLeaf | ( | SURFKDNode * | kd_node, |
SURFDescriptor * | feat, | ||
MinPq * | min_pq, | ||
int | flags | ||
) | [private] |
Definition at line 1224 of file place_recognition.cpp.
bool PlaceRecognition::extractGlobalFeature | ( | std::vector< std::vector< pcl::PointXYZ > > & | points, |
GlobalFeature * | global_feature | ||
) |
Definition at line 85 of file place_recognition.cpp.
CvSeq * PlaceRecognition::findSURFMatchPairs | ( | CvSeq * | sep, |
int | n, | ||
std::vector< SURFDescriptor > | sfeat, | ||
CvMemStorage * | storage | ||
) |
Definition at line 795 of file place_recognition.cpp.
double PlaceRecognition::getMatchDegree | ( | CvSeq * | seq | ) |
Definition at line 1369 of file place_recognition.cpp.
SURFKDNode * PlaceRecognition::initKDNode | ( | SURFDescriptor * | features, |
int | n | ||
) | [private] |
Definition at line 851 of file place_recognition.cpp.
MinPq * PlaceRecognition::initMinPq | ( | ) | [private] |
Definition at line 1125 of file place_recognition.cpp.
void PlaceRecognition::initSelect | ( | CvSeq * | seq | ) | [private] |
Definition at line 1706 of file place_recognition.cpp.
int PlaceRecognition::insertIntoNbrArray | ( | SURFDescriptor * | feat, |
SURFDescriptor ** | nbrs, | ||
int | n, | ||
int | k | ||
) | [private] |
Definition at line 1281 of file place_recognition.cpp.
int PlaceRecognition::insertMinPq | ( | MinPq * | min_pq, |
void * | data, | ||
int | key | ||
) | [private] |
Definition at line 1136 of file place_recognition.cpp.
int PlaceRecognition::Jcbi | ( | double | A[], |
double | V[] | ||
) | [private] |
Definition at line 1617 of file place_recognition.cpp.
int PlaceRecognition::KDTreeBbfKnn | ( | SURFKDNode * | kd_root, |
SURFDescriptor * | feat, | ||
int | k, | ||
SURFDescriptor *** | nbrs, | ||
int | max_nn_chks, | ||
int | flags | ||
) | [private] |
Definition at line 1050 of file place_recognition.cpp.
bool PlaceRecognition::Marix | ( | CvSeq * | seq, |
double * | RMatrix, | ||
double * | TVector | ||
) | [private] |
Definition at line 1727 of file place_recognition.cpp.
void PlaceRecognition::Matrix | ( | ) | [private] |
Definition at line 1504 of file place_recognition.cpp.
void * PlaceRecognition::minPqExtractMin | ( | MinPq * | min_pq | ) | [private] |
Definition at line 1207 of file place_recognition.cpp.
int PlaceRecognition::partitionArray | ( | double * | array, |
int | n, | ||
double | pivot | ||
) | [private] |
Definition at line 990 of file place_recognition.cpp.
void PlaceRecognition::partitionFeatures | ( | SURFKDNode * | kd_node | ) | [private] |
Definition at line 1012 of file place_recognition.cpp.
Definition at line 669 of file place_recognition.cpp.
void PlaceRecognition::releaseMinPq | ( | MinPq ** | min_pq | ) | [private] |
Definition at line 1337 of file place_recognition.cpp.
void PlaceRecognition::restoreMinPqOrder | ( | PqNode * | pq_array, |
int | i, | ||
int | n | ||
) | [private] |
Definition at line 1184 of file place_recognition.cpp.
double PlaceRecognition::selectMedian | ( | double * | array, |
int | n | ||
) | [private] |
Definition at line 924 of file place_recognition.cpp.
double PlaceRecognition::selectRank | ( | double * | array, |
int | n, | ||
int | r | ||
) | [private] |
Definition at line 929 of file place_recognition.cpp.
void PlaceRecognition::sortInsertion | ( | double * | array, |
int | n | ||
) | [private] |
Definition at line 972 of file place_recognition.cpp.
void PlaceRecognition::SVD | ( | ) | [private] |
Definition at line 1596 of file place_recognition.cpp.
void PlaceRecognition::transMatrix | ( | CvSeq * | seq | ) | [private] |
Definition at line 1431 of file place_recognition.cpp.
double PlaceRecognition::A[9] [private] |
Definition at line 232 of file place_recognition.h.
double PlaceRecognition::A_AH[9] [private] |
Definition at line 233 of file place_recognition.h.
double PlaceRecognition::AH_A[9] [private] |
Definition at line 234 of file place_recognition.h.
pcl::PointXYZ PlaceRecognition::centroid1 [private] |
Definition at line 237 of file place_recognition.h.
pcl::PointXYZ PlaceRecognition::centroid2 [private] |
Definition at line 238 of file place_recognition.h.
double PlaceRecognition::cos_cache[3600] [private] |
Definition at line 225 of file place_recognition.h.
CvMat* PlaceRecognition::dx_cache [private] |
Definition at line 221 of file place_recognition.h.
CvMat* PlaceRecognition::dy_cache [private] |
Definition at line 222 of file place_recognition.h.
Definition at line 212 of file place_recognition.h.
QStringList PlaceRecognition::files |
Definition at line 211 of file place_recognition.h.
CvMat* PlaceRecognition::gauss_kernel_cache [private] |
Definition at line 223 of file place_recognition.h.
std::vector<GlobalFeature> PlaceRecognition::global_descriptors |
Definition at line 213 of file place_recognition.h.
std::vector<bool> PlaceRecognition::if_false_pairs [private] |
Definition at line 245 of file place_recognition.h.
std::vector<pcl::PointXYZ> PlaceRecognition::lib_points [private] |
Definition at line 229 of file place_recognition.h.
IplImage* PlaceRecognition::region_cache [private] |
Definition at line 218 of file place_recognition.h.
IplImage* PlaceRecognition::regions_cache[SCANOCTAVE *FILTERSCALE] [private] |
Definition at line 219 of file place_recognition.h.
double PlaceRecognition::RMatrix[9] [private] |
Definition at line 240 of file place_recognition.h.
std::vector<double*> PlaceRecognition::RMatrixPlist [private] |
Definition at line 243 of file place_recognition.h.
std::vector<pcl::PointXYZ> PlaceRecognition::sce_points [private] |
Definition at line 230 of file place_recognition.h.
double PlaceRecognition::sin_cache[3600] [private] |
Definition at line 226 of file place_recognition.h.
std::vector< std::vector<SURFDescriptor> > PlaceRecognition::surf_descriptors |
Definition at line 214 of file place_recognition.h.
double PlaceRecognition::TVector[3] [private] |
Definition at line 241 of file place_recognition.h.
std::vector<double*> PlaceRecognition::TVectorPlist [private] |
Definition at line 244 of file place_recognition.h.
double PlaceRecognition::U[9] [private] |
Definition at line 235 of file place_recognition.h.
double PlaceRecognition::V[9] [private] |
Definition at line 236 of file place_recognition.h.
CvMat* PlaceRecognition::wrap [private] |
Definition at line 217 of file place_recognition.h.