[我正在尝试制作一个可显示照相机提要并计算(实时)距照相机的眼睛距离的Android应用程序。
我正在使用camera2 api和googe Face。
虽然我正在显示相机源和人脸api,但可以检测到我的脸部和位置。如果我尝试获取右眼和左眼的位置以便使用它们来计算距离,则我总是获得x和y的值-1。
有人可以帮我吗?
关于我的项目的一些详细信息:gradle“:
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
minSdkVersion 21
targetSdkVersion 27
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
面部代码:
Face[] faces = result.get(CaptureResult.STATISTICS_FACES);
if (faces != null && mode != null) {
if (faces.length > 0) {
for(int i = 0; i < faces.length; i++) {
if (faces[i].getScore() > 50) {
Log.i("Test", "faces : " + faces.length + " , mode : " + mode);
int leftEyex = faces[i].getLeftEyePosition().x;
int leftEyey = faces[i].getLeftEyePosition().y;
这些x和y始终返回-1。右眼,嘴等也一样...
如果您只是在谈论使用内置相机的镜头实现鱼眼镜头,那么您应该使用的最低值是:
float minFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);