• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 神经网络识别物体打包成程序后二次调用出现问题



    • 0_1624628867405_c26a4c75-8622-4bb5-a793-2db1efef34dc-图片.png
      第二次调用这个函数就出现这个错误,但是如果把相同程序改个名,只能分开调用,执行两次相同的还是会出现问题。

      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
      


    • 你这代码不对啊,怎么把死循环放到函数里面了?