Blankj / Blankj/AndroidUtilCode

希望能增加一个人脸识别工具类

Open
#1,459 1 comment 0 reactions 1 assignee Claimed by @Blankj View on GitHub
help wanted
Dominant language
Java
Stars
33.6k
Forks
10.6k
PR merge metrics
No merged PRs in 30d

Description

## 描述需求

利用Android自带的FaceDetector就可以实现一个简单的人脸识别,反正没有三方依赖,为什么不加呢?

## 可借鉴的

```
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.FaceDetector;

import java.io.ByteArrayOutputStream;

/**
* 利用Android原生的FaceDetector进行人脸识别
*/
public class FaceDetectUtil {
/**
* 判断该图片中是否有且只有一个人脸
*/
public static boolean hasOneFace(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] data = baos.toByteArray();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565; //构造位图生成的参数,必须为565。类名+enum
Bitmap myBitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options);
int maxFaces = 2;
FaceDetector.Face[] myFace = new FaceDetector.Face[maxFaces]; //分配人脸数组空间
FaceDetector myFaceDetect = new FaceDetector(myBitmap.getWidth(), myBitmap.getHeight(), maxFaces);
int count = myFaceDetect.findFaces(myBitmap, myFace); //FaceDetector 构造实例并解析人脸
return count == 1;
}
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.