星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 识别最近距离的小球



    • 一堆球中别最近距离的球,返回该球距离值,while之后出错,语法错误。不懂find_max(blobs)用法及含义,代码如下:

      Measure the distance

      This example shows off how to measure the distance through the size in imgage

      This example in particular looks for yellow pingpong ball.

      import sensor, image, time

      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 = (39, 99, -61, 1, -80, -5)

      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.

      K=5000#the value should be measured

      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])
      

      def find_max(blobs):
      max_size=0
      for b in blobs:
      if b[2]*b[3] > max_size:
      # Draw a rect around the blob.
      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
      print(length)
      附:像find_max(blobs)这种函数是在哪里找和学习能?



    • 在图像中,没有最近的球,只有最大的色块, find_max(很多色块)会返回最大的色块。