导航

    • 登录
    • 搜索
    • 版块
    • 产品
    • 教程
    • 论坛
    • 淘宝
    1. 主页
    2. 6var
    3. 楼层
    6
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 帖子
    • 楼层
    • 最佳
    • 群组

    6var 发布的帖子

    • RE: 在人脸识别的例程中进行改造当差异度小于7000是红灯亮3S大于7000时蓝灯亮3S可是无论差异度怎么变都是红灯亮求解

      不好意思 麻烦各位,问题已经解决了

      发布在 OpenMV Cam
      6
      6var
    • 在人脸识别的例程中进行改造当差异度小于7000是红灯亮3S大于7000时蓝灯亮3S可是无论差异度怎么变都是红灯亮求解

      #使用LBP描述符的人脸识别。

      import sensor, time, image, pyb

      sensor.reset() # 初始化相机传感器
      sensor.set_pixformat(sensor.GRAYSCALE) # 设置摄像头像素模式
      sensor.set_framesize(sensor.B128X128) # 设置摄像机模块的帧的阿晓
      sensor.set_windowing((92,112)) # 设置采集图像的相框大小
      sensor.skip_frames(10) # 让新设置生效
      sensor.skip_frames(time = 5000) # 等待5s

      blueled = pyb.LED(3) # Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4.
      redled = pyb.LED(1) # Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4.

      #SUB = "s1"
      NUM_SUBJECTS = 1 #图像库中不同人数,一共6人
      NUM_SUBJECTS_IMGS = 20 #每人有20张样本图片

      拍摄当前人脸。

      img = sensor.snapshot()
      #img = image.Image("singtown/%s/1.pgm"%(SUB))
      d0 = img.find_lbp((0, 0, img.width(), img.height()))
      #d0为当前人脸的lbp特征
      img = None
      pmin = 999999
      num=0

      def min(pmin, a, s):
      global num
      if a<pmin:
      pmin=a
      num=s
      return pmin

      global dist
      for s in range(1, NUM_SUBJECTS+1):
      dist = 0
      for i in range(2, NUM_SUBJECTS_IMGS+1):
      img = image.Image("singtown/s%d/%d.pgm"%(s, i))
      d1 = img.find_lbp((0, 0, img.width(), img.height()))
      #d1为第s文件夹中的第i张图片的lbp特征
      dist += image.match_descriptor(d0, d1)#计算d0 d1即样本图像与被检测人脸的特征差异度。

      if dist>7000:
          redled.on()
          time.sleep(3000)
          redled.off()
      else :
          blueled.on()
          time.sleep(3000)
          blueled.off()       
      print("Average dist for subject %d: %d"%(s, dist/NUM_SUBJECTS_IMGS))
      发布在 OpenMV Cam
      6
      6var