В руководстве по OpenCV для функции Phase() (и, следовательно, cartToPolar()) говорится, что она возвращает угол поворота для x- и y-градиентов в диапазоне 0-360 градусов (с параметром TRUE), используя уравнение
atan2(y(i),x(i)) * 180/pi
Однако, применяя вручную для некоторых случайных значений x/y-градиентов и используя то же вышеприведенное уравнение, я получаю результаты со значениями со знаком
Пример:
Gx=46 и Gy=-22
атан2(-22/46)*180/3,14 = -25,572929
в то время как результаты с использованием Phase() = 334,437073
Да, они под одним и тем же углом, но я хотел бы сохранить знак (если возможно) с помощью функций и без использования ручных итераций. Есть ли функция (или трюк) для этого в OpenCV? Спасибо :)