重点是
array = [[4095, 2660],
[4035, 2660],
[3956, 2666],
[3881, 2678],
[3810, 2695],
[3740, 2718],
[3656, 2748],
[3601, 2771],
[3710, 2767],
[3722, 2763],
[3803, 2736],
[3870, 2719],
[3946, 2704],
[4017, 2697],
[4098, 2695],
[4095, 2660]]
我尝试使用 Shapely 来做到这一点,但我不能,而且要点也不完全是这样。我不能使用两个坐标来找到它
你可以假设以相同 x 坐标开始和结束的 2 条线是平行的 现在取两者的平均值(又名
y_avg = (y1+y2)/2
)并从(x_start,y_avg) -> (x_end,y_avg)
绘制新的石灰
或者我错过了什么?
如果 x 坐标不完全匹配,引入一个 abs(x1_start-x2_start)<distance_threshold
或类似的东西,并为结束做同样的事情
然后再一次,如果你这样做,你可能还想检查音调
通过采取pitch1=(y1_start-y1_end)/(x1_end - x2_end)
现在比较abs(pitch1-pitch2) < pitch_threshold
在这种情况下,您必须平均 x 开始/结束坐标和 y 开始/结束坐标
(abs是绝对值)