使用Camera2 API计算到相机的眼距

问题描述 投票:0回答:1

[我正在尝试制作一个可显示照相机提要并计算(实时)距照相机的眼睛距离的Android应用程序。

我正在使用camera2 API和Google 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。右眼,嘴等也一样...

android camera android-camera2
1个回答
0
投票

如果您只是在谈论使用内置相机的镜头实现鱼眼镜头,那么您应该使用的最低值是:

float minFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);

© www.soinside.com 2019 - 2024. All rights reserved.