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



    • 在做识别色块的云台时候,常常因为颜色干扰出现多重结果,比如窗帘或者天空等,表现为很多细碎的小块,能不能把其他的色块删除只发送最大色块的坐标呢?因为我把舵机的值用色块坐标作为函数变量了,多个值同时输出导致舵机并不跟踪,只是偶尔 抖动

      import sensor, image, time
      import json
      from pyb import UART
      # For color tracking to work really well you should ideally be in a very, very,
      # very, controlled enviroment where the lighting is constant...
      #yellow_threshold   = ( 46,  100,  -68,   72,   58,   92)
      yellow_threshold   = ( 18, 69, 40, 86, 0, 72)
      # You may need to tweak the above settings for tracking green things...
      # Select an area in the Framebuffer to copy the color settings.
      
      sensor.reset() # Initialize the camera sensor.
      sensor.set_pixformat(sensor.RGB565) # use RGB565.
      sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
      sensor.skip_frames(10) # Let new settings take affect.
      sensor.set_auto_whitebal(False) # turn this off.
      clock = time.clock() # Tracks FPS.
      
      uart = UART(3, 9600)
      
      while(True):
          clock.tick() # Track elapsed milliseconds between snapshots().
          img = sensor.snapshot() # Take a picture and return the image.
      
          blobs = img.find_blobs([yellow_threshold])
          if blobs:
              #print('sum : %d'% len(blobs))
              data=[]
              for b in blobs:
                  # Draw a rect around the blob.
                  img.draw_rectangle(b.rect()) # rect
                  img.draw_cross(b.cx(), b.cy()) # cx, cy
                  data.append((b.cx(),b.cy()))
      
              #{(1,22),(-3,33),(22222,0),(9999,12),(0,0)}
              data_out = json.dumps(set(data))
              uart.write(data_out +'\n')
              print('you send:',data_out)
          else:
              print("not found!")
      




    • 但在实际运行时候似乎还是能在图像监视器中看到检测出好多个,难道图像监视器中的结果并不准确,在运行中能够自动剔除么?



    • 你运行的是我链接里的代码?

      在画面中看到的框,都是draw_rectangle函数画的。