关于iOS与android中简单的人脸识别(判断是否有人脸)


最近项目有个签到需求,是要经过拍摄人脸的签到,这就要用到人脸识别了,因为只需要判断是否存在人脸,不用识别出详细的身份信息,所以用iOS和android自带的人脸识别刚好可以完成这类需求。

首先无论是ios还是android,在我的需求里,一定是先拍完照再判断,那么这里涉及到了ios与android调用系统相机拍照的知识,具体怎么实现拍照这里不再赘述,我们从拍完照获得照片开始。

1、iOS

在得到照片回调的方法里对照片做以下判断:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)aImage editingInfo:(NSDictionary *)editingInfo

{

//判断是否包含人脸

    CIContext * context = [CIContext contextWithOptions:nil];

    NSDictionary * param = [NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh forKey:CIDetectorAccuracy];

    CIDetector * faceDetector = [CIDetector detectorOfType:CIDetectorTypeFace context:context options:param];

    CIImage * image = [CIImage imageWithCGImage:aImage.CGImage];

    NSArray * detectResult = [faceDetector featuresInImage:image];


    if (detectResult.count>0) {

//有脸        

    }else{

        //没脸

    }

}


2、android

首先将得到的bitmap做一次转化:

bitmap = bitmap.copy(Bitmap.Config.RGB_565,true);

然后进行判断

FaceDetector faceDetector = new FaceDetector(bitmap.getWidth(), bitmap.getHeight(), MAX_FACE_NUM);
FaceDetector.Face[] faces = new FaceDetector.Face[MAX_FACE_NUM];
realFaceNum = faceDetector.findFaces(bitmap, faces);
if(realFaceNum > 0){
   //有脸
}else{
   //无脸
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qsh18968155492/article/details/78121768
个人分类: 技术
上一篇ionic 学习笔记 二 :创建工程与初步分析
下一篇iOS与Android 添加文字水印
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭