• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 关于自己训练的xml文件运行的问题



    •  我用我自己训练出来的xml 文件,转成.cascade 文件后,在程序里改了路径运行后,运行到feature函数时,图像只要一动的频率快了,程序就自己退出来了,我这个是啥问题?
       是我.cascade文件的问题还是feature函数的问题?


    • 请附上详细的操作步骤和代码,这样我们才能重现问题



    • 下面是我的代码:

      import sensor, time, image, uio
      
      import sys,os,uos
      
      
      
      iiii = {0};
      # Reset sensor
      sensor.reset()
      
      # Sensor settings
      sensor.set_contrast(3)
      sensor.set_gainceiling(16)
      
      # Set resolution to VGA.
      sensor.set_framesize(sensor.VGA)
      sensor.set_brightness(-3)
      
      # Bin/Crop image to 200x100, which gives more details with less data to process
      sensor.set_windowing((220, 190, 200, 100))
      
      sensor.set_pixformat(sensor.GRAYSCALE)
      
      # Load Haar Cascade
      # By default this will use all stages, lower satges is faster but less accurate.
      #eyes_cascade = image.HaarCascade("eye", stages=24)
      #eyes_cascade = image.HaarCascade("frontalface.cascade", stages=24)
      eyes_cascade = image.HaarCascade("haarcascade_eye.cascade", stages=24)
      
      print(eyes_cascade)
      #print("frontalface")
      print("haarcascade_eye")
      # FPS clock
      clock = time.clock()
      
      
      
      while (True):
          clock.tick()
          # Capture snapshot
          img = sensor.snapshot()
      
          time.sleep(250)
      
      
      
      
          # Find eyes !
          # Note: Lower scale factor scales-down the image more and detects smaller objects.
          # Higher threshold results in a higher detection rate, with more false positives.
      
          eyes = img.find_features(eyes_cascade, threshold=0.1, scale_factor=500)
              # Find iris
          for e in eyes:
      
              iris = img.find_eye(e)
      
              img.draw_rectangle(e)
      
      
              img.draw_cross(iris[0], iris[1])
      
      
      
          # Print FPS.
          # Note: Actual FPS is higher, streaming the FB makes it slower.
          #print(eyes_cascade)
      


    • 我先用openmv_cascade.py将自己训练出来的xml文件转成cascade文件,然后将文件添加到根目录里面,
      再将“eye”改成文件名,如下:
      eyes_cascade = image.HaarCascade("haarcascade_eye.cascade", stages=24)
      然后运行程序时,画面没有检测到目标时程序正常运行,只要一检测到目标,程序就自己退出来了,我觉得是下面这个函数检测的问题,
      eyes = img.find_features(eyes_cascade, threshold=0.1, scale_factor=500)



    • @yuan 请问大神 我的这个问题在哪?



    • @wang123 我不清楚你的具体cascade文件是什么,我把文件换成了内置的eye,用你的代码,识别没有问题。

      你可以把你的文件一起发上来,我测试一下。



    • @yuan 恩 现在不行 我明天再发



    • @yuan [链接文本](链接:https://pan.baidu.com/s/1Igr8GGKff_r-rmGJiOg8gQ 密码:s5th)



    • 试了一下你的文件,一运行的确会退出来。
      会不会是因为你训练的文件太大了?



    • 我也用过openmv源码里面自带的xml文件训练,结果还是这样



    • @yuan 我把自己训练的xml文件弄小之后还是这样,但是我用openmv自带的cascade文件就没错,源码自带的cascade文件有啥特别的吗?自带的cascade是用哪个xml 文件转化的?



    • OpenMV用户自己训练文件转化的话,是使用OpenMV在github中提供的xml文件转化。

      你这个问题,我也不太清楚了。



    • @yuan en 谢谢大神 能给我发个链接吗?就是xml 文件转化后能用的,我试了好多网上的也还是不能用