这个b和c应该怎么修改呢,麻烦请教一下
2
2ngc 发布的帖子
-
IndexError:bytes index out of range
import sensor, image, time import time from pyb import UART from modbus import ModbusRTU uart = UART(3,115200, parity=None, stop=2, timeout=1, timeout_char=4) modbus = ModbusRTU(uart,slave_id=2,register_num=9999) threshold = (30, 100, 15, 127, 15, 127) sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(10) sensor.set_auto_whitebal(False) sensor.set_auto_gain(False) clock = time.clock() while(True): clock.tick() img = sensor.snapshot().lens_corr(1.8) img = sensor.snapshot() for c in img.find_circles(threshold = 3500, x_margin = 10, y_margin = 10, r_margin = 10,r_min = 2, r_max = 100, r_step = 2): img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0)) circles = img.find_circles() print("***************************数据由此开始更新***************************************") print("X坐标:",c.x(),"Y坐标:",c.y(),"半径:",c.r()) print(len(circles),"个") blobs = img.find_blobs([threshold], pixels_threshold=100, area_threshold=100) if blobs: for b in blobs: img.draw_rectangle(b[0:4]) img.draw_cross(b[5], b[6]) print("X坐标:",b[5],"Y坐标:",b[6]) print(len(blobs),"个") print("X方向相差距离:",c.x()-b[5],"Y方向相差距离:",b[6]- c.y()) print("***************************数据由此开始结束**********************************") if modbus.any(): modbus.handle(debug=True) else: modbus.REGISTER[0] = c.x()- b[5] modbus.REGISTER[1] = b[6]- c.y()