diff --git a/modules/features2d/src/orb.cpp b/modules/features2d/src/orb.cpp index aed20c6fd..c0f2858bb 100644 --- a/modules/features2d/src/orb.cpp +++ b/modules/features2d/src/orb.cpp @@ -561,7 +561,7 @@ void ORB::operator()(const cv::Mat &image, const cv::Mat &mask, std::vector & keypoints = all_keypoints[level]; - float scale = 1.0f / std::pow(params_.scale_factor_, float(level - params_.first_level_)); + float scale = 1.0f / std::pow(params_.scale_factor_, float(level) - float(params_.first_level_)); for (std::vector::iterator keypoint = keypoints.begin(), keypoint_end = keypoints.end(); keypoint != keypoint_end; ++keypoint) keypoint->pt *= scale; @@ -628,7 +628,7 @@ void ORB::operator()(const cv::Mat &image, const cv::Mat &mask, std::vector::iterator keypoint = keypoints.begin(), keypoint_end = keypoints.end(); keypoint != keypoint_end; ++keypoint) keypoint->pt *= scale;