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



    • # Face recognition with LBP descriptors.
      # See Timo Ahonen's "Face Recognition with Local Binary Patterns".
      #
      # Before running the example:
      # 1) Download the AT&T faces database http://www.cl.cam.ac.uk/Research/DTG/attarchive/pub/data/att_faces.zip
      # 2) Exract and copy the orl_faces directory to the SD card root.
      #AT&T faces库都是pgm后缀的图片,其他图片格式不支持,
      #该AT&T faces库已经在文件夹里面,把该库解压并命名为att_faces,也可以是其他的命名,下面的路径要根据你的命名一样。
      #待续
      import sensor, time, image
      
      SUB = "s1"
      NUM_SUBJECTS = 5
      NUM_SUBJECTS_IMGS = 10
      
      #img = image.Image("/att_faces/%s/zhuren.pgm"%(SUB)).mask_ellipse()
      img = image.Image("/att_faces/%s/1.pgm"%(SUB))# mask_ellipse()在API中并未找到,不用这个并不影响
      d0 = img.find_lbp((0, 0, img.width(), img.height())) #从感兴趣的区域提取LBP(本地二进制模式)关键点
      img = None #初始化
      
      print("")
      for s in range(1, NUM_SUBJECTS+1):
          dist = 0
          for i in range(2, NUM_SUBJECTS_IMGS+1):
      #        img = image.Image("/att_faces/s%d/%d.pgm"%(s, i)).mask_ellipse()
              img = image.Image("/att_faces/s%d/%d.pgm"%(s, i))
              d1 = img.find_lbp((0, 0, img.width(), img.height()))
              dist += image.match_descriptor(d0, d1)
      #对于LBP描述符,该函数返回一个表示整数的整数,两个描述符之间的差异。 然后你可以对此进行阈值/比较距离度量。
      #距离是衡量相似度的指标。该越接近0,LBP关键点匹配越好。
          print("Average dist for subject %d: %d"%(s, dist/NUM_SUBJECTS_IMGS))
      
      

      Open MV 例程里这个代码那一部分应该放对比的照片,那一部分放被对比的照片?求指教万分感谢



    • 仔细阅读代码,可以发现,s1-1.pgm是模板图片。程序将s1-s5五个文件夹里面的每一张图片,与s1-1.pgm进行对比,得到一个匹配测度值,然后每个文件夹下面的10张图片的测度值求平均值,然后输出。