Example: 02-Image-Processing/02-Color-Tracking/single_color_grayscale_blob_tracking.py
import sensor
import time
import math
thresholds = (245, 255)
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.VGA)
sensor.skip_frames(time=2000)
sensor.set_auto_gain(False)
sensor.set_auto_whitebal(False)
clock = time.clock()
while True:
clock.tick()
img = sensor.snapshot()
for blob in img.find_blobs(
[thresholds], pixels_threshold=100, area_threshold=100, merge=True
):
if blob.elongation() > 0.5:
img.draw_edges(blob.min_corners(), color=0)
img.draw_line(blob.major_axis_line(), color=0)
img.draw_line(blob.minor_axis_line(), color=0)
img.draw_rectangle(blob.rect(), color=127)
img.draw_cross(blob.cx(), blob.cy(), color=127)
img.draw_keypoints(
[(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))],
size=40,
color=127,
)
print(clock.fps())