import sensor, image, time, maththreshold_index = 0 # 0 for red, 1 for green, 2 for blue# Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max)# The below thresholds track in general red/green/blue things. You may wish to tune them...thresholds = [(96, 100, -20, 5, -5, 32), # generic_red_thresholds (96, 100, -14, -5, 14, 31), # generic_green_thresholds (97, 100, -15, -1, 23, 42)] # generic_blue_thresholds#x=blob.cx()sensor.reset()sensor.set_pixformat(sensor.RGB565)sensor.set_framesize(sensor.QVGA)sensor.skip_frames(time = 2000)sensor.set_auto_gain(False) # must be turned off for color trackingsensor.set_auto_whitebal(False) # must be turned off for color trackingclock = time.clock()from pyb import UARTuart = UART(4, 9600)# 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. "merge=True" merges all overlapping blobs in the image.while(True): clock.tick() img = sensor.snapshot() for blob in img.find_blobs([thresholds[1]], pixels_threshold=2, area_threshold=0, merge=True): img.draw_rectangle(blob.rect()) img.draw_cross(blob.cx(), blob.cy()) # Note - the blob rotation is unique to 0-180 only. img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20) print(blob) uart.write(blob.w())
3
3soc 发布的帖子
-
name 'blob' is not defined