Пересечение OpenCV между эллипсами и линиейC++

Программы на C++. Форум разработчиков
Anonymous
 Пересечение OpenCV между эллипсами и линией

Сообщение Anonymous »

Я пытаюсь найти точки пересечения эллипсов с линией.
Я извлекаю эллипсы из изображения и получаю RotatedRect из fitEllipse. Теперь я рисую несколько линий, и они (в идеале) пересекаются с эллипсом. Мне нужно найти точки пересечения.
По сути, это необработанное изображение.
[img]https:/ /i.sstatic.net/bm8qEtDU.jpg[/img]

Я хочу найти эти точки.

Вот несколько тестовых векторов.
import cv2
import numpy as np

ellipse_center = np.array([439, 326])
ellipse_axes = np.array([int(283/2), int(565/2)])
ellipse_angle = np.radians(91)

line_point1 = np.array([583, 450])
line_point2 = np.array([292, 115])

window_name = "Demo"
cv2.namedWindow(window_name)
canvas = np.zeros((600, 800, 3), dtype=np.uint8)

while True:
# Clear canvas
canvas.fill(0)

cv2.ellipse(canvas, tuple(ellipse_center), tuple(ellipse_axes), np.degrees(ellipse_angle), 0, 360, (0, 0, 255), 2)
cv2.line(canvas, (293,115), (584,450), (0,0,255), 2)
cv2.line(canvas, (70,290), (404,279), (0,0,255), 2)
cv2.line(canvas, (59,353), (411,285), (0,0,255), 2)
cv2.line(canvas, (463,272), (755,220), (0,0,255), 2)

# Show canvas
cv2.imshow(window_name, canvas)

# Exit if 'q' is pressed
if cv2.waitKey(1) & 0xFF == ord('q'):
break

# Close OpenCV window
cv2.destroyAllWindows()


Подробнее здесь: https://stackoverflow.com/questions/790 ... d-and-line

Вернуться в «C++»