OpenCV 和 Python 中线条的反射

Reflection of Lines in OpenCV and Python

我正在尝试在 OpenCV 中计算一条线在表面上的反射。

我使用的是射弹即时跟踪,它正在绘制第 2 条线和一个边框。

我“只是”想画一条反弹角线,正如您在我的绘图中看到的那样。

我得到了一个计算三个给定点的角度的代码,但在我的示例中,第 2 行不是静态的。它会移动,因为它被移动的射弹吸引。所以要计算这个,我需要边界和 2 号线的交点。我有点费力才能得到它..

有解决这个问题的简单方法吗?

谢谢。

来自您的评论:

弹丸坐标(P0)

(center_x, center_y)

撞击点(P1

(predicted2[0], predicted2[1])

边界极值(A,B

(Ax, Ay), (Bx, By)

我假设P1属于段AB。

你应该把P0投影到经过A、B的直线上。称这个点为PP。然后你应该计算

arctan(distance(PP,P1)/distance(P0,PP))

这等于 alpha,您可以使用它来计算反射段,具体取决于反射段的长度。

我建议使用 shapely 库:

https://shapely.readthedocs.io/en/stable/manual.html