diff --git a/modules/features2d/src/matchers.cpp b/modules/features2d/src/matchers.cpp index 758b4fa594..937c2acb00 100644 --- a/modules/features2d/src/matchers.cpp +++ b/modules/features2d/src/matchers.cpp @@ -629,7 +629,9 @@ void DescriptorMatcher::checkMasks( InputArrayOfArrays _masks, int queryDescript CV_Assert( masks.size() == imageCount ); for( size_t i = 0; i < imageCount; i++ ) { - if( !masks[i].empty() && (!trainDescCollection[i].empty() || !utrainDescCollection[i].empty() ) ) + if( !masks[i].empty() && + (!trainDescCollection.empty() && !trainDescCollection[i].empty() + || !utrainDescCollection.empty() && !utrainDescCollection[i].empty() ) ) { int rows = trainDescCollection[i].empty() ? utrainDescCollection[i].rows : trainDescCollection[i].rows; CV_Assert( masks[i].rows == queryDescriptorsCount &&