Допустим, у меня есть изображение с некоторыми черными пикселями.Я знаю все координаты черных пикселей и ищу желтую линию.
дано: координаты черного пикселя в моем изображении.
ищу: желтый многочлен, который лучше всего подходит длячерные пиксели
import cv2
import numpy as np
cv2.imread("foo.jpg")
#search for the black pixels and save the coordinates.
#coordinates of all pixels (example)
x = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
z = np.polyfit(x, y, 2)
p = np.poly1d(z)
Если я все правильно понимаю, теперь я создал многочлен (желтая линия на изображении) с помощью np.poly1d()
.Но как я могу нарисовать это на моем bgr_img?
Редактировать:
Пока это мой код:
import cv2
import numpy as np
img = cv2.imread("white_foo.jpg") #1000x1000 pixel
#lets say these are my black pixels in a white image.
x = np.array([122, 224, 210, 350, 380, 250, 490, 623, 711, 819, 900])
y = np.array([536, 480, 390, 366, 270, 240, 180, 210, 280, 400, 501])
#calculate the coefficients.
z = np.polyfit(x, y, 2)
lspace = np.linspace(0, 1000, 100)
#here I want to draw the polynomial which I calculated with polyfit on my image
cv2.imshow("test", img)
cv2.waitKey(0)
Заранее спасибо