diff --git a/modules/features2d/src/descriptors.cpp b/modules/features2d/src/descriptors.cpp index 6faddd500d..f1bc1b9910 100644 --- a/modules/features2d/src/descriptors.cpp +++ b/modules/features2d/src/descriptors.cpp @@ -96,10 +96,11 @@ void DescriptorExtractor::removeBorderKeypoints( vector& keypoints, Ptr DescriptorExtractor::create(const string& descriptorExtractorType) { - if( descriptorExtractorType.find("Opponent") == 0) + if( descriptorExtractorType.find("Opponent") == 0 ) { size_t pos = string("Opponent").size(); - return DescriptorExtractor::create(descriptorExtractorType.substr(pos)); + string type = descriptorExtractorType.substr(pos); + return new OpponentColorDescriptorExtractor(DescriptorExtractor::create(type)); } return Algorithm::create("Feature2D." + descriptorExtractorType);