百度人脸识别离线采集的图片有黑边并且有延时

如题,百度人脸识别离线采集的图片有黑边,有时候采集的背景图黑边区域不是固定的,很让人烦恼,今天想了想,我采集的图片只是用来显示头像区域,采集到的图的中心区域90%是完整的,所以,我们可以在采集到图片后,处理一下。

如图中裁剪区就是我需要的区域,O(∩_∩)O

我用的是人脸闸机的demo,裁剪代码

/**
 * 裁剪图片 只适用于Android 因为截图有黑色背景
 * 手动设置裁剪区域
 */
private  Bitmap cutBitmap(Bitmap bm) {
    Bitmap bitmap = null;
    if (bm != null) {
        bitmap = Bitmap.createBitmap(bm, bm.getWidth()/6, bm.getHeight() /8, bm.getWidth()*2/3, bm.getHeight()*2 / 3);
        //对图片的高度的一半进行裁剪
    }
    return bitmap;
}

我的裁剪区域是手动试出来的,要根据采集时的区域来。这样至少比之前的黑边图好看。

第二个问题,人脸检测是异步的虽然是离线但是还是会有延时,然后Android SDK的demo里并没有处理这个问题,我们可以自己搞定,刚开始我自定义了一个CircleImageView,当检测结果为成功时把图片显示出来,覆盖住人脸检测区域,但是位置不好定位,然后我发现FaceDetectRoundView其实也可以实现的,在检测成功后,把检测成功的

base64ImageMap转换成bitmap传给FaceDetectRoundView,然后画在圆形的区域里,就可以了。
  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值