在OpenCV中使用角度和点绘制一条直线

24

我在OpenCV中有一个点和一个角度,如何使用这些参数绘制图形,而不使用2个点?

非常感谢!


我认为这个问题有你正在寻找的答案。希望对你有所帮助。 - scap3y
你所谓的“那个”是什么意思?你想要用这个角度画一条线吗?如果是这样,你不能没有两个点就画一条线。如果你想要在每种情况下都画一条长度恒定的线,你应该找到与第一点相对长度恒定的第二点,然后用这些点画出这条线。请明确你想要的。 - yutasrobot
https://dev59.com/TnbZa4cB1Zd3GeqPJ83c - Engine
非常感谢。我提到的“那个”是指关于线条的。我想这样做,因为它对进程会更好。我有好的角度和点,我想画出它们。如果不可能的话,我将需要计算这两个点,而这对我的程序来说并不好。 - DualSim
1个回答

50

只需使用该方程式

x2 = x1 + length * cos(θ)
y2 = y1 + length * sin(θ) 

θ 应该用弧度表示。

θ = angle * 3.14 / 180.0

在OpenCV中,您可以像下面这样重新编写上面的方程:

int angle = 45;
int length = 150;
Point P1(50,50);
Point P2;

P2.x =  (int)round(P1.x + length * cos(angle * CV_PI / 180.0));
P2.y =  (int)round(P1.y + length * sin(angle * CV_PI / 180.0));

完成!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接