diff --git a/modules/features2d/src/orb.cpp b/modules/features2d/src/orb.cpp index a25ae7d86..8cf752c94 100644 --- a/modules/features2d/src/orb.cpp +++ b/modules/features2d/src/orb.cpp @@ -388,7 +388,8 @@ public: private: static inline int angle2Wedge(float angle) { - return cvRound((angle / 360) * kNumAngles); + static float scale = float(kNumAngles) / 360.0f; + return std::min(int(std::floor(angle * scale)), kNumAngles - 1); } void generateRelativePattern(int angle_idx, int /*sz*/, cv::Mat & relative_pattern)