Implemented missed AlgorithmInfo for BRIEF

This commit is contained in:
Andrey Kamaev 2012-03-29 03:06:59 +00:00
parent 700c1665c9
commit ce89d00fcf
3 changed files with 19 additions and 1 deletions

View File

@ -724,6 +724,8 @@ public:
/// @todo read and write for brief
AlgorithmInfo* info() const;
protected:
virtual void computeImpl(const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors) const;

View File

@ -172,4 +172,20 @@ void BriefDescriptorExtractor::computeImpl(const Mat& image, std::vector<KeyPoin
test_fn_(sum, keypoints, descriptors);
}
static Algorithm* createBRIEF() { return new BriefDescriptorExtractor; }
static AlgorithmInfo brief_info("Feature2D.BRIEF", createBRIEF);
AlgorithmInfo* BriefDescriptorExtractor::info() const
{
static volatile bool initialized = false;
if( !initialized )
{
BriefDescriptorExtractor brief;
brief_info.addParam(brief, "bytes", brief.bytes_);
initialized = true;
}
return &brief_info;
}
} // namespace cv

View File

@ -697,7 +697,7 @@ void CV_DescriptorMatcherTest::matchTest( const Mat& query, const Mat& train )
for( size_t i = 0; i < matches.size(); i++ )
{
DMatch& match = matches[i];
std::cout << match.distance << std::endl;
//std::cout << match.distance << std::endl;
if( match.queryIdx != (int)i || match.trainIdx != (int)i || std::abs(match.distance) > FLT_EPSILON )
{