实现步骤:
1、将yuv视频数据转换成Bitmap图片;
2、由于Bitmap图片可能存在色块,故将Bitmap图片进行灰度化;
3、检测灰度化后的Bitmap图片是否包含人脸。
/**
* 保存图片
* @param bmp 传入的图片
*/
public void saveImage(Bitmap bmp) {
File imageDir = new File(Environment.getExternalStorageDirectory(), "facePic");
if (!imageDir .exists()) {
imageDir .mkdir();
}
String fileName = System.currentTimeMillis() + ".jpg";
File file = new File(imageDir , fileName);
try {
FileOutputStream fos = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 图片去色,返回灰度图片
* @param bmpOriginal 传入的图片
* @return 去色后的