玩玩人脸识别

人脸识别

  • Android自带的API:FaceDetector

    • Step 1: 读取bitmap图片(API 只接受Bitmap)
      (拍照或者从相册中也可以)

      Bitmap sampleBmp=BitmapFactory.decodeResource(getResources(), R.drawable.sample1);
    • Step 2: 通过FaceDetector API进行人脸识别

      //FaceDetecor只能读取RGB 565格式的Bitmap
      Bitmap tmpBmp = inputImage.copy(Bitmap.Config.RGB_565, true);
      //新建FaceDetector 实例,
      FaceDetector faceDet = new FaceDetector(tmpBmp.getWidth(), tmpBmp.getHeight(), MAX_FACES);//MAX_FACES 搜索人脸个数
      // 调用findFaces方法,将数据储存在facelist中
      FaceDetector.Face[] faceList = new FaceDetector.Face[MAX_FACES];
      faceDet.findFaces(tmpBmp, faceList);

    找人脸的原理是:找眼睛。
    它返回的人脸数据face中,
    通过调用public float eyesDistance (),得到眼距
    public void getMidPoint (PointF point),得到两眼中心点位置。
    public float confidence () 可以返回该人脸数据的可信度(0~1),这个值越大,该人脸数据的准确度也就越高

    • Step3:对原图进行缩放,并在图上显示人脸框

    • 吐槽:
      A,只能接受Bitmap 格式的数据;
      B,只能识别双眼距离大于20 像素的人脸像(当然,这个可在framework层中修改);
      C,只能检测出人脸的位置(双眼的中心点及距离),不能对人脸进行匹配(查找指定的脸谱)。

  • 第三方
    • face++(他有在线API可调用,离线SDK)
    • 在线API:基础版API供免费调用测试和小规模使用(会尽力维护API服务稳定性,但不保证每次调用均会成功),企业版API相对基础版API在算法和稳定性方面会有更好的表现
    • 离线SDK包括人脸关键点定位等功能。
    • 网址:http://www.faceplusplus.com.cn/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值