Как заставить cv2.ellipse рисовать дугу по часовой стрелке?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить cv2.ellipse рисовать дугу по часовой стрелке?

Сообщение Anonymous »

Похоже, что cv2.ellipse имеет собственное мнение о том, как интерпретировать начальный и конечный угол.
Я хочу нарисовать дугу окружности от 300° до 130° по часовой стрелке, т.е. вот так :
введите здесь описание изображения
с помощью этого кода:

Код: Выделить всё

import numpy as np
import cv2

center = (200, 200) # x,y
axes = (100, 100) # first, second
angle = 0. # clockwise, first axis, starts horizontal
for i in range( 330,130,-1):
image = np.zeros((400, 400, 3)) # creates a black image
image = cv2.ellipse(image, center, axes, angle, 0., 360, (0,0,255))
image = cv2.ellipse(image, center, axes, angle, 330, i, (0,255,0))
cv2.imshow("image", image)
cv2.waitKey(5)

cv2.waitKey(0)
cv2.destroyAllWindows()
Вместо этого я получил это: зеленый сегмент нарисован против часовой стрелки от 330 до 130, а не по часовой стрелке.
введите здесь описание изображения
Код сначала генерирует красный круг, а затем накладывает на него зеленую дугу, но это демонстрирует проблему.

Подробнее здесь: https://stackoverflow.com/questions/784 ... rcular-arc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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