The signature for this function is as follows:
cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness=1, lineType=8, shift=0)
This function allows you to create different types of ellipses. The angle parameter (in degrees) allows you to rotate the ellipse. The axes parameter controls the size of the ellipse corresponding to half the size of the axes. If a full ellipse is required, startAngle = 0 and endAngle = 360. Otherwise, you should adjust these parameters to the required elliptic arc (in degrees). You can also see that, by passing the same value for the axes, you can draw a circle:
cv2.ellipse(image, (80, 80), (60, 40), 0, 0, 360, colors['red'], -1)
cv2.ellipse(image, (80, 200), (80, 40), 0, 0, 360, colors['green'], 3)
cv2.ellipse(image, (80, 200), (10, 40), 0, 0, 360, colors['blue'], 3)
cv2.ellipse(image, (200, 200), (10, 40), 0, 0, 180, colors['yellow'], 3)
cv2.ellipse(image, (200, 100), (10, 40), 0, 0, 270, colors['cyan'], 3)
cv2.ellipse(image, (250, 250), (30, 30), 0, 0, 360, colors['magenta'], 3)
cv2.ellipse(image, (250, 100), (20, 40), 45, 0, 360, colors['gray'], 3)
These ellipses can be seen in the next screenshot: