DescriptorExtractor: added defaultNorm() to return default norm type.

Added the defaultNorm() method to the DescriptorExtractor class. This method returns the default norm type for each descriptor type. The tests and C/C++ samples were updated to get the norm type directly from the DescriptorExtractor inherited classes.

This was reported in feature report #2182 (http://code.opencv.org/issues/2182). It will make it possible to get the norm type usually applied matching method for each descriptor, instead of passing it manually.
This commit is contained in:
Peter Andreas Entschev
2013-11-27 17:58:40 -02:00
parent 41ae5d5f66
commit 6f3163f62d
29 changed files with 94 additions and 26 deletions

View File

@@ -125,6 +125,11 @@ int BriefDescriptorExtractor::descriptorType() const
return CV_8UC1;
}
int BriefDescriptorExtractor::defaultNorm() const
{
return NORM_HAMMING;
}
void BriefDescriptorExtractor::read( const FileNode& fn)
{
int dSize = fn["descriptorSize"];

View File

@@ -712,6 +712,12 @@ BRISK::descriptorType() const
return CV_8U;
}
int
BRISK::defaultNorm() const
{
return NORM_HAMMING;
}
BRISK::~BRISK()
{
delete[] patternPoints_;

View File

@@ -247,6 +247,11 @@ int OpponentColorDescriptorExtractor::descriptorType() const
return descriptorExtractor->descriptorType();
}
int OpponentColorDescriptorExtractor::defaultNorm() const
{
return descriptorExtractor->defaultNorm();
}
bool OpponentColorDescriptorExtractor::empty() const
{
return !descriptorExtractor || descriptorExtractor->empty();

View File

@@ -623,4 +623,9 @@ int FREAK::descriptorType() const {
return CV_8U;
}
int FREAK::defaultNorm() const
{
return NORM_HAMMING;
}
} // END NAMESPACE CV

View File

@@ -575,6 +575,11 @@ int ORB::descriptorType() const
return CV_8U;
}
int ORB::defaultNorm() const
{
return NORM_HAMMING;
}
/** Compute the ORB features and descriptors on an image
* @param img the image to compute the features and descriptors on
* @param mask the mask to apply