diff --git a/modules/features2d/src/orb.cpp b/modules/features2d/src/orb.cpp index 4255cced17..d6c59de761 100644 --- a/modules/features2d/src/orb.cpp +++ b/modules/features2d/src/orb.cpp @@ -932,7 +932,12 @@ void ORB::operator()( InputArray _image, InputArray _mask, vector& _ke // Compute the descriptors if (do_descriptors) { - Mat desc = descriptors.rowRange(offset, offset + nkeypoints); + Mat desc; + if (!descriptors.empty()) + { + desc = descriptors.rowRange(offset, offset + nkeypoints); + } + offset += nkeypoints; // preprocess the resized image Mat& workingMat = imagePyramid[level];