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



    • 0_1547694679728_8275942b-5448-4149-b8ad-2aa8d8c58112-image.png
      我的代码逻辑是这样的:多颜色识别,识别到对应颜色打印相应的判断字符 但是在openmv还没有识别到rgb任何一个颜色的时候为什么终端已经显示它找到了红色呢???
      大神们求解答,万分感谢🙏🏻 🙏🏻 🙏🏻



    • 如果涉及代码,需要报错提示与代码文本,不要贴代码图片



    • import sensor, image, time
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      sensor.set_auto_gain(False) # must be turned off for color tracking
      sensor.set_auto_whitebal(False) # must be turned off for color tracking
      clock = time.clock()
      rgb_circle=[(0, 72, -2, 127, 127, -128),(30, 100, -80, -128, -128, 127),(0, 100, 127, -128, -128, -7)]    
      red_circle=[(0, 72, -2, 127, 127, -128)]
      green_circle=[(30, 100, -80, -128, -128, 127)]
      blue_circle=[(0, 100, 127, -128, -128, -7)]
      img=sensor.snapshot()
      red_blob=img.find_blobs(red_circle)
      green_blob=img.find_blobs(green_circle)
      blue_blob=img.find_blobs(blue_circle)
      
      while(True):
          img=sensor.snapshot()
          if(red_blob.code()==1):#001
              print("r")
              img.draw_rectangle(blob.rect(),color=(0,0,255))
              img.draw_cross(blob.cx(), blob.cy())
          if(green_blob.code()==1):
              print("g")#010
              img.draw_rectangle(blob.rect(),color=(255,255,255))
              img.draw_cross(blob.cx(), blob.cy())
          if(blue_blob.code()==1):#100
              print("b")
              img.draw_rectangle(blob.rect(),color=(255,0,0))
              img.draw_cross(blob.cx(), blob.cy())
              
      

      0_1547704070374_ea488aa3-6bc9-47ac-b5d0-12a500c55079-image.png



    • red_blob 是一个列表,你应该遍历它

      for b in red_blob:
          print(b.code())
      

      所以你的这个变量名字不好,应该叫red_blobs



    • 好的😁



    • 大佬有没有解决颜色顺序识别?嘿嘿