Угол со знаком в фазе () в OpenCV

В руководстве по OpenCV для функции phase () (и, таким образом, функции cartToPolar ()) говорится, что он возвращает угол поворота для градиентов x и y в диапазоне 0–360 градусов (с параметром TRUE), используя уравнение

atan2(y(i),x(i)) * 180/pi

Однако, применяя вручную для некоторых случайных значений x / y-градиентов и используя то же самое уравнение выше, я получаю результаты со значениями со знаком

Пример:

Gx = 46 и Gy = -22

atan2 (-22/46) * 180 / 3,14 = -25,572929

в то время как результаты с использованием фазы () = 334,437073

Да, они под одним углом, но я бы хотел сохранить знак (если это возможно), используя функции и не используя ручные итерации. Есть ли функция (или хитрость), чтобы сделать это в OpenCV? Спасибо 🙂

0

Решение

Похоже, я не смог найти функцию в OpenCV, которая делает трюк.
Однако единственное, что мне осталось, — это использовать цикл и применить

if (angle>180) {
angle = angle-360;
}

0

Другие решения

Других решений пока нет …