• OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 识别矩形如何提高识别精度



    • 我现在想要识别矩形块,但是矩形的颜色和背景色太相近了并且无法更换颜色,有没有什么办法能提高矩形识别精度?

      import sensor, image, time
      from pyb import UART,LED

      sensor.reset()
      sensor.set_pixformat(sensor.GRAYSCALE) # 灰度更快(160x120 max on OpenMV-M7)
      sensor.set_framesize(sensor.QQVGA)
      sensor.skip_frames(time = 2000)
      clock = time.clock()

      LED(1).on()
      LED(2).on()
      LED(3).on()

      while(True):
      clock.tick()
      img = sensor.snapshot()
      # 下面的threshold应设置为足够高的值,以滤除在图像中检测到的具有
      # 低边缘幅度的噪声矩形。最适用与背景形成鲜明对比的矩形。
      for r in img.find_rects(threshold = 15000):
      img.draw_rectangle(r.rect(), color = (255, 0, 0))
      cx = r.x() + (r.w() // 2)
      cy = r.y() + (r.h() // 2)
      img.draw_line((80,60,cx,cy), color=(127))
      img.draw_cross(cx ,cy)
      img.draw_cross(80 ,60)
      for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0))
      print(cx,cy)

      print("FPS %f" % clock.fps())
      

      根据教程里面的矩形识别代码改的



    • 先用binary把矩形和背景分割出来,在黑白的图像上再调用img.find_rects