Hi I am new to micropython and the open MV cam h7. I am attempting to control a motor when a color threshold is detected. I attached my code, can you tell me if I am going down the right path?

# Multi Color Blob Tracking Example
# This example shows off multi color blob tracking using the OpenMV Cam.

import sensor, image, time, math

# Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max)
# The below thresholds track in general red/green things. You may wish to tune them...
thresholds = [(34, 54, 90, 45, 48, -116), # generic_red_thresholds
(30, 100, -64, -8, -32, 32), # generic_green_thresholds
(0, 15, 0, 40, -80, -20)] # generic_blue_thresholds
# You may pass up to 16 thresholds above. However, it's not really possible to segment any
# scene with 16 thresholds before color thresholds start to overlap heavily.

sensor.skip_frames(time = 2000)
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking
clock = time.clock()

# Only blobs that with more pixels than "pixel_threshold" and more area than "area_threshold" are
# returned by "find_blobs" below. Change "pixels_threshold" and "area_threshold" if you change the
# camera resolution. Don't set "merge=True" becuase that will merge blobs which we don't want here.

counter = 0
StartTime = clock
EndTime = clock + clock.tick(1000)

img = sensor.snapshot()
for blob in img.find_blobs(thresholds, pixels_threshold=200, area_threshold=200):

# These values depend on the blob not being circular - otherwise they will be shaky.
if blob.elongation() > 0.5:
img.draw_edges(blob.min_corners(), color=(255,0,0))
img.draw_line(blob.major_axis_line(), color=(0,255,0))
img.draw_line(blob.minor_axis_line(), color=(0,0,255))

# These values are stable all the time.

# Adds to Counter to show that a Rectangle was Drawn.
if counter >= 30: # Turn off Motors.
if clock.tick() == 1000:
# Code for Motors to turnoff

if blob.color ==
# Code for sorting to the red chute
if blob.color ==
# Code for sorting to the blue chute
if blob.color ==
# Code for sorting to the green chute

# Note - the blob rotation is unique to 0-180 only.
img.draw_keypoints([(,, int(math.degrees(blob.rotation())))], size=20)

Hi, please use the code tags when posting. Also, this is not valid OpenMV Cam code:

if blob.color ==
# Code for sorting to the red chute
if blob.color ==
# Code for sorting to the blue chute
if blob.color ==
# Code for sorting to the green chute

Anyway, please ask a specific question. You basically are just asking folks to do your application when you ask if you are on the right path and not a specific question. Post like this are starting to come in everyday now and I might start not to reply them them much anymore.

My apologies. I didnt mean to upset you. I figured it out! Thank you for replying. I appreciate your time!

You didn’t, glad you got it working.