我的a明明定义了 为什么老是会报 a,b,c没有定义的错误啊
-
import sensor, image, time from pyb import UART # 为了使色彩追踪效果真的很好,你应该在一个非常受控制的照明环境中。 BLUE_threshold = ( 0, 80, -70, -10, -0, 30) # 设置蓝色的阈值 sensor.reset() # 初始化sensor sensor.set_pixformat(sensor.RGB565) # use RGB565. sensor.set_framesize(sensor.QQVGA) #设置图像像素大小 sensor.skip_frames(10) # 让新的设置生效。 sensor.set_auto_whitebal(False) clock = time.clock() uart = UART(3,115200) uart.init(115200, bits=8, parity=None, stop=1) #通信 K=5000#自取 while(True): clock.tick() img = sensor.snapshot() # 拍一张照片并返回图像。 blobs = img.find_blobs([BLUE_threshold]) if len(blobs) == 1: # Draw a rect around the blob. b = blobs[0] img.draw_rectangle(b[0:4]) # rect img.draw_cross(b[5], b[6]) # cx, cy Lm = (b[2]+b[3])/2 length = K/Lm print(length) c=int(length) if blobs: #如果找到了目标颜色 for b in blobs: #迭代找到的目标颜色区域 # Draw a rect around the blob. img.draw_rectangle(b[0:4]) # rect #用矩形标记出目标颜色区域 img.draw_cross(b[5], b[6]) # cx, cy #在目标颜色区域的中心画十字形标记 print(b[5], b[6]) #输出目标物体中心坐标 print("1") a=1 else: print("2") b=2 data = bytearray([0xb3,a,b,c,0x5b])
-
当没有找到色块的时候,abc就没有定义。
解决办法:在23行加入
a=0 b=0 c=0