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



    • 0_1737865667096_屏幕截图 2025-01-26 122627.png

      import sensor
      import time
      import tf
      import math
      
      sensor.reset()  # 重置并初始化感光元件
      sensor.set_pixformat(sensor.RGB565)  # 设置图像格式为 RGB565 (或 GRAYSCALE)
      sensor.set_framesize(sensor.QVGA)  # 设置图像大小为 QVGA (320x240)
      sensor.set_windowing((240, 240))  # 设置图像为 240x240 窗口大小
      sensor.skip_frames(time=2000)  # 跳过几帧使设置生效
      
      min_confidence = 0.4
      
      # 加载内置的 FOMO 人脸检测模型
      labels, net = tf.load_builtin_model("fomo_face_detection")
      
      # 或者,模型文件也可以从文件系统存储中加载。
      # net = tf.load('<object_detection_network>', load_to_fb=True)
      # labels = [line.rstrip('\n') for line in open("labels.txt")]
      
      colors = [  # 可以添加更多标识圈的颜色,可以超过7种,不同种类目标物体用不同颜色圈表示
          (255, 0, 0),
          (0, 255, 0),
          (255, 255, 0),
          (0, 0, 255),
          (255, 0, 255),
          (0, 255, 255),
          (255, 255, 255),
      ]
      
      clock = time.clock()
      while True:
          clock.tick()
      
          img = sensor.snapshot()
      
          # detect() 返回图像中检测到的所有的物体 (已经按照种类分类好)
          # 跳过索引0, 因为第0个分类是 背景 
          # 然后在识别到的物体中央画出圆圈
      
          for i, detection_list in enumerate(
              net.detect(img, thresholds=[(math.ceil(min_confidence * 255), 255)])
          ):
              if i == 0:
                  continue  # 索引0是背景分类
              if len(detection_list) == 0:
                  continue  # 没有检测到这个种类的物体
      
              print("********** %s **********" % labels[i])
              for d in detection_list:
                  [x, y, w, h] = d.rect()
                  center_x = math.floor(x + (w / 2))
                  center_y = math.floor(y + (h / 2))
                  print(f"x {center_x}\ty {center_y}")
                  img.draw_circle((center_x, center_y, 12), color=colors[i], thickness=2)
      
          print(clock.fps(), "fps", end="\n")