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



    • import sensor, time, image,pyb
      
      #重置传感器
      sensor.reset()
      
      #传感器设置
      sensor.set_contrast(3)
      sensor.set_gainceiling(16)
      
      # 将分辨率设置为VGA。
      sensor.set_framesize(sensor.VGA)
      
      #拉近镜头,使眼睛的更多细节展现在摄像头中。
      # 裁剪图像到200x100,这提供了更多的细节和更少的数据处理
      sensor.set_windowing((220, 190, 200, 100))
      
      sensor.set_pixformat(sensor.GRAYSCALE)
      
      # 加载眼睛的haar算子
      # 默认情况下,这将使用所有阶段,较低的阶段更快但不太准确。
      eyes_cascade = image.HaarCascade("eye", stages=24)
      print(eyes_cascade)
      
      # FPS clock
      clock = time.clock()
      start = pyb.millis()#起始时间
      num=0
      delta = time.ticks_diff(time.ticks_ms(), start) # compute time difference 计算时间差
      while (True):
          clock.tick()
          # Capture snapshot
          img = sensor.snapshot()
          eyes = img.find_features(eyes_cascade, threshold=0.5, scale=1.5)
          delta = time.ticks_diff(time.ticks_ms(), start) # compute time difference 计算时间差
          for e in eyes:
              if delta > 5000:
                  start = pyb.millis() # 更新时间
                  print("过去了5s")
              iris = img.find_eye(e)
              img.draw_rectangle(e)
              img.draw_cross(iris[0], iris[1])
              objects = img.find_features(eyes_cascade, threshold=0.5, scale=1.5)
              num=num+1
              print(num)
      
      
      

      0_1621671639023_A9WBV9YS5V3$IEG)UE~E3@T.png