Image processing 更改atan2()或类似部件的零角位置
我在图像中有一组点,我想按顺时针方向对它们排序/获取属性。订购它们的条件是它们的角度 我需要选择角度为0的起点,然后按顺时针顺序选择其他点(增加角度)。但是,我使用atan2(2,因为角度范围更好)来获得角度,但是零角度总是在水平轴上。如何将零角的轴设置在起点的位置 非常感谢!Image processing 更改atan2()或类似部件的零角位置,image-processing,geometry,Image Processing,Geometry,我在图像中有一组点,我想按顺时针方向对它们排序/获取属性。订购它们的条件是它们的角度 我需要选择角度为0的起点,然后按顺时针顺序选择其他点(增加角度)。但是,我使用atan2(2,因为角度范围更好)来获得角度,但是零角度总是在水平轴上。如何将零角的轴设置在起点的位置 非常感谢! Hector如果计算起始角度: double theta_0 = atan2(y[0], x[0]); double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI *
Hector如果计算起始角度:
double theta_0 = atan2(y[0], x[0]);
double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI * 2.0);
然后可以从后续角度中减去该值,并使用fmod
获得相对角度模数2π,从而获得相对于起始角度的顺时针正角度:
double theta_0 = atan2(y[0], x[0]);
double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI * 2.0);
嗨,非常感谢你的回复。我怎样才能在工作区得到theta_I?如果我叫它double,它不会出现。什么工作区?实际上,您还没有提到正在使用的编程语言或环境。