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



    • 最初的想法就是通过瞳孔识别进行眨眼次数的判断,当闭眼时,则无法识别到瞳孔,则num加一。我是通过调取瞳孔识别函数的返回的一个固定值,作为标志项,进行判断的,但是发现几个问题,一个是打印出的num速度过快,加了定时器还是一样的结果。还有就是将第一个判断语句的等号变成不等号,那代码将不往下执行打印,但显然当识别不到瞳孔的时候,标志不相等应该是恒成立的。代码如下,求大佬解惑

      
      import sensor, time, image
      from pyb import Timer
      
      sensor.reset()
      sensor.set_contrast(3)
      sensor.set_gainceiling(16)
      sensor.set_framesize(sensor.VGA)
      sensor.set_windowing((220, 190, 200, 100))
      sensor.set_pixformat(sensor.GRAYSCALE)
      
      num=0
      flag=0
      
      eyes_cascade = image.HaarCascade("eye", stages=24)
      clock = time.clock()
      
      while (True):
          clock.tick()
          img = sensor.snapshot()
          eyes = img.find_features(eyes_cascade, threshold=0.5, scale_factor=1.5)
      
          for e in eyes:
              iris = img.find_eye(e)
              img.draw_rectangle(e)
              img.draw_cross(iris[0], iris[1])
      
              a=str(img.draw_cross(iris[0], iris[1]).copy())
              flag=int(a[5])
      
              def ad(timer):
                  global num
                  num=num+1
      
              tim = Timer(2, freq=1)
              
              if flag==2:
                  tim.callback(ad)
                  print(num)
              else:
                  print(1)


    • openmv精度不够