我正在尝试使用android人脸检测API在人脸上绘制文本。
现在,我做了这个
for(Landmark landmark : face.getLandmarks()){
if(landmark.getType() == Landmark.NOSE_BASE){
Bitmap moustache = BitmapFactory.decodeResource(resources, R.drawable.moustache);
canvas.drawText("=====", landmark.getPosition().x, landmark.getPosition().y, mIdPaint);
}
}
,但结果是文字=====
是画在头上,我不知道为什么。
如果有人需要更多代码,请告诉我
如果你在实时摄像机预览上绘制图形,你需要考虑一些事情:
- 设备的旋转
- 视图相对于预览图像大小的比例
- 是否使用前置摄像头(将镜像图像)
面部跟踪器演示的示例代码有实用程序方法(translateX, translateY, scaleX, scaleY)来帮助实现这一点:
https://github.com/googlesamples/android-vision/blob/master/visionSamples/FaceTracker/app/src/main/java/com/google/android/gms/samples/vision/face/facetracker/FaceGraphic.java L99
https://github.com/googlesamples/android-vision/blob/master/visionSamples/FaceTracker/app/src/main/java/com/google/android/gms/samples/vision/face/facetracker/ui/camera/GraphicOverlay.java L100