{\r
keyPointsCount_[level] = fastDetector_.calcKeyPointsLocation(imagePyr_[level], maskPyr_[level]);\r
\r
+ if (keyPointsCount_[level] == 0)\r
+ continue;\r
+\r
ensureSizeIsEnough(3, keyPointsCount_[level], CV_32FC1, keyPointsPyr_[level]);\r
\r
GpuMat fastKpRange = keyPointsPyr_[level].rowRange(0, 2);\r
keyPointsCount_[level] = fastDetector_.getKeyPoints(fastKpRange);\r
\r
- int n_features = n_features_per_level_[level];\r
- \r
+ if (keyPointsCount_[level] == 0)\r
+ continue;\r
+\r
+ int n_features = static_cast<int>(n_features_per_level_[level]);\r
+\r
if (scoreType_ == ORB::HARRIS_SCORE)\r
{\r
// Keep more points than necessary as FAST does not give amazing corners\r
\r
for (int level = 0; level < nLevels_; ++level)\r
{ \r
+ if (keyPointsCount_[level] == 0)\r
+ continue;\r
+\r
GpuMat descRange = descriptors.rowRange(offset, offset + keyPointsCount_[level]);\r
\r
if (blurForDescriptor)\r
\r
for (int level = 0; level < nLevels_; ++level)\r
{\r
+ if (keyPointsCount_[level] == 0)\r
+ continue;\r
+\r
float sf = getScale(scaleFactor_, firstLevel_, level);\r
\r
GpuMat keyPointsRange = keypoints.colRange(offset, offset + keyPointsCount_[level]); \r