获取检测到的人脸位图
Posted
技术标签:
【中文标题】获取检测到的人脸位图【英文标题】:Get detected face bitmap 【发布时间】:2016-05-05 13:31:17 【问题描述】:我正在试验以下 Google 示例:https://github.com/googlesamples/android-vision/tree/master/visionSamples/FaceTracker
该示例使用 Play Service 新的人脸检测 API,并在摄像头视频流中检测到的人脸上绘制一个正方形。
我试图弄清楚是否可以保存检测到人脸的帧,根据代码,人脸检测器的处理器似乎是执行“保存”的好地方,但它只提供检测元数据而不是实际帧。
我们将不胜感激。
【问题讨论】:
【参考方案1】:您可以通过以下方式获取:
Bitmap source = ((BitmapDrawable) yourImageView.getDrawable()).getBitmap();
// detect faces
Bitmap faceBitmap = createBitmap(source,
face.getPosition().x,
face.getPosition().y,
face.getWidth(),
face.getHeight());
【讨论】:
【参考方案2】:是的,这是可能的。我回答了有关从 CameraSource here 获取帧的问题。最棘手的部分是访问 CameraSource 帧并将 Frame 数据类型转换为位图。然后将帧作为位图,您可以将它们传递给 FaceGraphic 类,并在 draw() 方法中保存这些位图,因为仅在检测到人脸时才会调用 draw()。
【讨论】:
以上是关于获取检测到的人脸位图的主要内容,如果未能解决你的问题,请参考以下文章