From d0ffc1bfde07d8ea68a859760626efe70547fef4 Mon Sep 17 00:00:00 2001 From: Andrea Lanfranchi Date: Tue, 27 Feb 2024 11:31:41 +0100 Subject: [PATCH] Amend quirk behavior of mod operator --- deepface/detectors/DetectorWrapper.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/deepface/detectors/DetectorWrapper.py b/deepface/detectors/DetectorWrapper.py index f05c053..5704bfa 100644 --- a/deepface/detectors/DetectorWrapper.py +++ b/deepface/detectors/DetectorWrapper.py @@ -164,11 +164,13 @@ def rotate_facial_area( """ # Normalize the witdh of the angle so we don't have to - # worry about rotations greater than 360 degrees - angle = angle % 360 + # worry about rotations greater than 360 degrees. + # We workaround the quirky behavior of the modulo operator + # for negative angle values. + direction = (1, -1)[angle < 0] + angle = abs(angle) % 360 if angle == 0: - return facial_area # No rotation needed - direction = 1 if angle > 0 else -1 + return facial_area # Angle in radians angle = angle * np.pi / 180