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

Ali*_*rau 2 c++ python opencv

使用如下所示的 OpenCV 绘制多色分段圆的最佳方法是什么?

我发现,它可以是:

  1. 使用cv.fillPoly精确绘制圆弧需要很多点,线段数为数百;
  2. 通过将线旋转一圈来使用cv.line
  3. 通过旋转整个图像使用cv.line就像在这种类似的情况下一样

多色分段圆

Tim*_*imo 5

使用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()
Run Code Online (Sandbox Code Playgroud)

1