mirror of
https://github.com/opencv/opencv.git
synced 2026-09-13 05:42:51 -05:00
some bugfixes & improvements in openfabmap code, docs and samples by Arren Glover
This commit is contained in:
@@ -3,7 +3,7 @@ openFABMAP
|
||||
|
||||
.. highlight:: cpp
|
||||
|
||||
The openFABMAP package has been integrated into OpenCV from the openFABMAP <http://code.google.com/p/openfabmap/> project. OpenFABMAP is an open and modifiable code-source which implements the Fast Appearance-based Mapping algorithm (FAB-MAP) developed by Mark Cummins and Paul Newman. The algorithms used in openFABMAP were developed using only the relevant FAB-MAP publications.
|
||||
The openFABMAP package has been integrated into OpenCV from the openFABMAP <http://code.google.com/p/openfabmap/> project [ICRA2011]_. OpenFABMAP is an open and modifiable code-source which implements the Fast Appearance-based Mapping algorithm (FAB-MAP) developed by Mark Cummins and Paul Newman. The algorithms used in openFABMAP were developed using only the relevant FAB-MAP publications.
|
||||
|
||||
FAB-MAP is an approach to appearance-based place recognition. FAB-MAP compares images of locations that have been visited and determines the probability of re-visiting a location, as well as providing a measure of the probability of being at a new, previously unvisited location. Camera images form the sole input to the system, from which visual bag-of-words models are formed through the extraction of appearance-based (e.g. SURF) features.
|
||||
|
||||
|
||||
@@ -202,14 +202,13 @@ void FabMap::compare(const vector<Mat>& queryImgDescriptors,
|
||||
void FabMap::compare(const vector<Mat>& queryImgDescriptors,
|
||||
const vector<Mat>& _testImgDescriptors,
|
||||
vector<IMatch>& matches, const Mat& /*mask*/) {
|
||||
if (_testImgDescriptors[0].data != this->testImgDescriptors[0].data) {
|
||||
CV_Assert(!(flags & MOTION_MODEL));
|
||||
for (size_t i = 0; i < _testImgDescriptors.size(); i++) {
|
||||
CV_Assert(!_testImgDescriptors[i].empty());
|
||||
CV_Assert(_testImgDescriptors[i].rows == 1);
|
||||
CV_Assert(_testImgDescriptors[i].cols == clTree.cols);
|
||||
CV_Assert(_testImgDescriptors[i].type() == CV_32F);
|
||||
}
|
||||
|
||||
CV_Assert(!(flags & MOTION_MODEL));
|
||||
for (size_t i = 0; i < _testImgDescriptors.size(); i++) {
|
||||
CV_Assert(!_testImgDescriptors[i].empty());
|
||||
CV_Assert(_testImgDescriptors[i].rows == 1);
|
||||
CV_Assert(_testImgDescriptors[i].cols == clTree.cols);
|
||||
CV_Assert(_testImgDescriptors[i].type() == CV_32F);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < queryImgDescriptors.size(); i++) {
|
||||
|
||||
Reference in New Issue
Block a user