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



    • 😀 😀



    • import sensor, image, time,math,pyb
      from pyb import UART,LED
      import json
      
      
      
      red_threshold   = (16, 40, 21, 53, 47, 17)
      
      sensor.reset() 
      sensor.set_pixformat(sensor.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) # init with given parameters
      
      
      K=2554
      def Tablefun(list):
          list_set = set(list)  
          frequency_dict = {}
          for i in list_set:  
              frequency_dict[i] = list.count(i)  
          grade_mode = []
          for key, value in frequency_dict.items():  
              if value == max(frequency_dict.values()):
                  grade_mode.append(key)
                  break
          return grade_mode
      
      
      
      while(True):
          Tab_distance=[]
          while(len(Tab_distance)<20):
              length=0
              clock.tick() 
              img = sensor.snapshot() 
              blobs = img.find_blobs([red_threshold])
      
      
              if len(blobs) == 1:
                  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
                  Tab_distance.append(int(length))
      
      
          length = Tablefun(Tab_distance)
          # uart.writechar(int(length[0]))
              
          length = format(length[0],'0>3')+ "\r\n"
          uart.write(length)
         
          print(">>", length, "<<")
        
      
      


    • 这很明显啊,57行,format变量未定义啊。



    • @kidswong999 :你好,我在python编译器里都是直接使用format()函数的,请问在openmv里需要导入哪个库才能解决呢,之前在文档里找没找到🙂 🙂



    • '{:03d}'.format(length[0])+"\r\n"