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



    • from pyb import UART
      import json
      
      sensor.reset()  #摄像头初始化
      sensor.set_pixformat(sensor.RGB565)  #设置为彩色模式
      sensor.set_framesize(sensor.QQVGA)      #画幅为QQVGA即分辨率为160*120
      sensor.skip_frames(time = 2000)         #跳过起始画面,获取稳定图像
      sensor.set_auto_gain(False) #在色块检测模式下关闭自动补光
      sensor.set_auto_whitebal(False) #关闭白平衡
      clock = time.clock()
      
      while(True):
          #lens_corr 为了去除畸变, 1.8 是默认参数,可以根据自己实际情况调整
      #    img = sensor.snapshot().lens_corr(1.8)
          img = sensor.snapshot()
          # 圆形类有 4 个参数值: 圆心(x, y), r (半径)和 magnitude(量级);
          # 量级越大说明识别到的圆可信度越高。
          # `threshold` 参数控制找到圆的数量,数值的提升会降低识别圆形的总数。
          # `x_margin`, `y_margin`, and `r_margin`控制检测到接近圆的合并调节.
          # r_min, r_max, and r_step 用于指定测试圆的半径范围。
          for c in img.find_circles(threshold = 2500, x_margin = 10, y_margin
          = 10, r_margin = 10,r_min = 2, r_max = 20, r_step = 2):
              #画红色圆做指示
              img.draw_circle(c.x(), c.y(), c.r(), color = (255, 0, 0))
              print(c) #打印圆形的信息
      
      ![0_1714274915088_qqq.PNG](https://fcdn.singtown.com/3bb02f0a-3131-4e11-b816-bbc4adb98e07.PNG) 
      

      如何识别自己想要的圆?