openmv/scripts/examples/03-Drawing/ellipse_drawing.py
Kwabena W. Agyeman b47dbe2c15 Kwabena/drawing updates (#422)
* Add ellipse drawing function.
2018-12-31 18:32:13 +02:00

36 lines
1.1 KiB
Python

# Ellipse Drawing
#
# This example shows off drawing ellipses on the OpenMV Cam.
import sensor, image, time, pyb
sensor.reset()
sensor.set_pixformat(sensor.RGB565) # or GRAYSCALE...
sensor.set_framesize(sensor.QVGA) # or QQVGA...
sensor.skip_frames(time = 2000)
clock = time.clock()
while(True):
clock.tick()
img = sensor.snapshot()
for i in range(10):
x = (pyb.rng() % (2*img.width())) - (img.width()//2)
y = (pyb.rng() % (2*img.height())) - (img.height()//2)
radius_x = pyb.rng() % (max(img.height(), img.width())//2)
radius_y = pyb.rng() % (max(img.height(), img.width())//2)
rot = pyb.rng() % 45 # Avoid large rotation angles with fill on...
r = (pyb.rng() % 127) + 128
g = (pyb.rng() % 127) + 128
b = (pyb.rng() % 127) + 128
# If the first argument is a scaler then this method expects
# to see x, y, radius x, and radius y.
# Otherwise, it expects a (x,y,radius_x,radius_y) tuple.
img.draw_ellipse(x, y, radius_x, radius_y, \
rotation = rot, color = (r, g, b), thickness = 2, fill = False)
print(clock.fps())