如何使用 OpenCV 绘制多色分段圆?

How to draw multi-color segmented circle using OpenCV?

像下面这样使用 OpenCV 绘制多色分段圆的最佳方法是什么?

我查到的,可以是:

  1. 使用cv.fillPoly一个圆弧精确绘制需要很多点,线段数有几百个;
  2. 使用cv.line将线旋转一圈;
  3. 使用 cv.line 像这样 .
  4. 旋转整个图像

使用cv.ellipse你可以很容易地绘制线段:

from matplotlib import pyplot as plt
import cv2
import numpy as np
import random

ANGLE_DELTA = 360 // 8

img = np.zeros((700, 700, 3), np.uint8)
img[::] = 255

for size in range(300, 0, -100):
    for angle in range(0, 360, ANGLE_DELTA):
        r = random.randint(0, 256)
        g = random.randint(0, 256)
        b = random.randint(0, 256)
        cv2.ellipse(img, (350, 350), (size, size), 0, angle, angle + ANGLE_DELTA, (r, g, b), cv2.FILLED)

plt.gcf().set_size_inches((8, 8))
plt.imshow(img)
plt.show()

给予