mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 05:29:54 +08:00
Merge pull request #6009 from patricksnape:flann_python_fix
This commit is contained in:
commit
6f51dd1258
@ -517,30 +517,32 @@ DescriptorMatcher::~DescriptorMatcher()
|
|||||||
|
|
||||||
void DescriptorMatcher::add( InputArrayOfArrays _descriptors )
|
void DescriptorMatcher::add( InputArrayOfArrays _descriptors )
|
||||||
{
|
{
|
||||||
if(_descriptors.isUMatVector())
|
if( _descriptors.isUMatVector() )
|
||||||
{
|
{
|
||||||
std::vector<UMat> descriptors;
|
std::vector<UMat> descriptors;
|
||||||
_descriptors.getUMatVector(descriptors);
|
_descriptors.getUMatVector( descriptors );
|
||||||
utrainDescCollection.insert( utrainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
utrainDescCollection.insert( utrainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
||||||
}
|
}
|
||||||
else if(_descriptors.isUMat())
|
else if( _descriptors.isUMat() )
|
||||||
{
|
{
|
||||||
std::vector<UMat> descriptors = std::vector<UMat>(1, _descriptors.getUMat());
|
std::vector<UMat> descriptors = std::vector<UMat>(1, _descriptors.getUMat());
|
||||||
utrainDescCollection.insert( utrainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
utrainDescCollection.insert( utrainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
||||||
}
|
}
|
||||||
else if(_descriptors.isMatVector())
|
else if( _descriptors.isMatVector() )
|
||||||
{
|
{
|
||||||
std::vector<Mat> descriptors;
|
std::vector<Mat> descriptors;
|
||||||
_descriptors.getMatVector(descriptors);
|
_descriptors.getMatVector(descriptors);
|
||||||
trainDescCollection.insert( trainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
trainDescCollection.insert( trainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
||||||
}
|
}
|
||||||
else if(_descriptors.isMat())
|
else if( _descriptors.isMat() )
|
||||||
{
|
{
|
||||||
std::vector<Mat> descriptors = std::vector<Mat>(1, _descriptors.getMat());
|
std::vector<Mat> descriptors = std::vector<Mat>(1, _descriptors.getMat());
|
||||||
trainDescCollection.insert( trainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
trainDescCollection.insert( trainDescCollection.end(), descriptors.begin(), descriptors.end() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
CV_Assert( _descriptors.isUMat() || _descriptors.isUMatVector() || _descriptors.isMat() || _descriptors.isMatVector() );
|
CV_Assert( _descriptors.isUMat() || _descriptors.isUMatVector() || _descriptors.isMat() || _descriptors.isMatVector() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<Mat>& DescriptorMatcher::getTrainDescriptors() const
|
const std::vector<Mat>& DescriptorMatcher::getTrainDescriptors() const
|
||||||
@ -1032,12 +1034,37 @@ FlannBasedMatcher::FlannBasedMatcher( const Ptr<flann::IndexParams>& _indexParam
|
|||||||
void FlannBasedMatcher::add( InputArrayOfArrays _descriptors )
|
void FlannBasedMatcher::add( InputArrayOfArrays _descriptors )
|
||||||
{
|
{
|
||||||
DescriptorMatcher::add( _descriptors );
|
DescriptorMatcher::add( _descriptors );
|
||||||
std::vector<UMat> descriptors;
|
|
||||||
_descriptors.getUMatVector(descriptors);
|
|
||||||
|
|
||||||
for( size_t i = 0; i < descriptors.size(); i++ )
|
if( _descriptors.isUMatVector() )
|
||||||
{
|
{
|
||||||
addedDescCount += descriptors[i].rows;
|
std::vector<UMat> descriptors;
|
||||||
|
_descriptors.getUMatVector( descriptors );
|
||||||
|
|
||||||
|
for( size_t i = 0; i < descriptors.size(); i++ )
|
||||||
|
{
|
||||||
|
addedDescCount += descriptors[i].rows;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if( _descriptors.isUMat() )
|
||||||
|
{
|
||||||
|
addedDescCount += _descriptors.getUMat().rows;
|
||||||
|
}
|
||||||
|
else if( _descriptors.isMatVector() )
|
||||||
|
{
|
||||||
|
std::vector<Mat> descriptors;
|
||||||
|
_descriptors.getMatVector(descriptors);
|
||||||
|
for( size_t i = 0; i < descriptors.size(); i++ )
|
||||||
|
{
|
||||||
|
addedDescCount += descriptors[i].rows;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if( _descriptors.isMat() )
|
||||||
|
{
|
||||||
|
addedDescCount += _descriptors.getMat().rows;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CV_Assert( _descriptors.isUMat() || _descriptors.isUMatVector() || _descriptors.isMat() || _descriptors.isMatVector() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user