Я использую следующий код для печати координаты каждой точки на линии.
1-й, я использовал две координаты, чтобы нарисовать линию на черной 2D-плоскости.
2-й, I использовал координаты двух точек для вычисления наклона и точки пересечения.
3-й, я печатаю координаты всех точек на линии в плоскости 2D.
Не думаю, что я ' Я достаточно умен, чтобы сделать это. Хотя я могу решить проблему, это нелегкий путь.
Мой код:
import cv2
import numpy as np
y1=-304 #point1_y
y2=477 #point2_y
x1=-957 #point1_x
x2=883 #point2_x
img=np.zeros((300,300,3),np.uint8)
cv2.line(img,(x1,y1),(x2,y2),(0,255,0),3)
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
k=(y2-y1)/(x2-x1)
b = y1 - k*x1
for x in range(1,300):
y=k*x+b
print(x,y)
Результат:
![enter image description here](https://i.stack.imgur.com/0k9zO.jpg)
Информация о координатах:
1 102.62934782608696
2 103.05380434782609
3 103.47826086956522
4 103.90271739130435
5 104.32717391304348
6 104.75163043478261
7 105.17608695652174
8 105.60054347826087
9 106.025
10 106.44945652173914
……
Для opencv есть какой-нибудь простой способ вывести каждую точку на линии?