第二次调用这个函数就出现这个错误,但是如果把相同程序改个名,只能分开调用,执行两次相同的还是会出现问题。
def garbage_type():
sensor.reset() # Reset and initialize the sensor.
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
sensor.set_windowing((240, 240)) # Set 240x240 window.
sensor.skip_frames(time=2000) # Let the camera adjust.
net = "trained.tflite"
labels = [line.rstrip('\n') for line in open("labels.txt")]
clock = time.clock()
while(True):
clock.tick()
garbage=6
img = sensor.snapshot()
# default settings just do one detection... change them to search the image...
for obj in tf.classify(net, img, min_scale=1.0, scale_mul=0.8, x_overlap=0.5, y_overlap=0.5):
img.draw_rectangle(obj.rect())
predictions_list = list(zip(labels, obj.output()))
#print(predictions_list) #[('A4', 0.0), ('Dianchi', 0.0), ('Ganjupi', 0.0), ('Pingzi', 1.0), ('Zhibei', 0.0)]
#print(obj.output().index(max(obj.output()))) #l=[3,2,1,0,4,5];print l.index(max(l)) 返回list最大值位置
print(max(obj.output()))
if(max(obj.output())<0.8):
garbage=5
else:
garbage=obj.output().index(max(obj.output()))
print(garbage)
if(garbage<=5):
break
return garbage