通过三点opencv画弧

时间:2013-08-15 02:25:00

标签: emgucv

我有三个A点(a1,a2),B(b1,b2),C(c1,c2)。如何通过三点绘制弧线并计算弧角。

谢谢大家。

[HERE] http://photo.ssc.vn/view.php?filename=374df.png

1 个答案:

答案 0 :(得分:0)

如果您选择二次方,您将拥有

y = ax * x + bx + c

三点A(x1,y1)B(x2,y2)C(x3,y3)

这给出了一个线性系统

y1 = ax1 * x + bx1 + c

y2 = ax2 * x + bx2 + c

y3 = ax3 * x + bx3 + c

a,b和c

可以解决

如果您使用的是圆圈,请使用

Emgu.CV.PointCollection.MinEnclosingCircle

这将为您提供CircleF类型的对象,该对象具有PointF类型的属性中心。

找到点和中心之间的向量。

Va = A - 中心

Vb = B - 中心

Vc = C - 中心

找出这些向量之间的角度。您正在寻找最大的锐角。 您可以使用点积来计算角度。