用openmv4实现路标识别,现在能返回识别到的值,没识别到怎么返回呢?
-
请在这里粘贴代码 import sensor, image, time, os, tf, math, uos, gc,pyb import ustruct from pyb import UART sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.set_windowing((240, 240)) sensor.skip_frames(time=2000) net = None labels = None SendData = 0x00 min_confidence = 0.5 output={ "80":"*****限速80*****", "n":"*****禁止驶入*****", "x":"*****禁止鸣笛*****", } uart = UART(3,115200) def sending_data(Data): global uart; data = ustruct.pack("<bbbb", 0x2c, 0x12, Data, 0x5B) uart.write(data); try: net = tf.load("trained.tflite", load_to_fb=uos.stat('trained.tflite')[6] > (gc.mem_free() - (64*1024))) except Exception as e: raise Exception('Failed to load "trained.tflite", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')') try: labels = [line.rstrip('\n') for line in open("labels.txt")] except Exception as e: raise Exception('Failed to load "labels.txt", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')') colors = [ (255, 0, 0), ( 0, 255, 0), (255, 255, 0), ( 0, 0, 255), (255, 0, 255), ( 0, 255, 255), (255, 255, 255), ] clock = time.clock() last_output=0 while(True): clock.tick() img = sensor.snapshot() for i, detection_list in enumerate(net.detect(img, thresholds=[(math.ceil(min_confidence * 255), 255)])): if (i == 0): continue if (len(detection_list) == 0): continue if(i>0): print(output[labels[i]]) if(i == 1): SendData = 0x01 elif(i == 2): SendData = 0x02 elif(i == 3): SendData = 0x03 print("Send:%#x"%SendData) sending_data(SendData)
-
想要实现的功能是:识别到路标后返回对应值,没有路标时也返回一个值。
我现在实现了识别路标后返回对应值,但不太会返回没有路标的值,
而且我改过的代码(只加了一个串口通信)在没有路标时也会返回路标值,这怎么办
-
if (len(detection_list) == 0): continue
这里改成
if (len(detection_list) == 0): print("没有找到:", i) continue