Android camera2 Внутренняя калибровка объектива

Я скачал демо-версию Android camera2, она работала хорошо.

Теперь я хочу получить внутреннюю матрицу камеры, запрашивая характеристики камеры.

Мой код

private void setUpCameraOutputs(int width, int height) {
    Activity activity = getActivity();
    CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
    try {
        for (String cameraId : manager.getCameraIdList()) {
            CameraCharacteristics characteristics
                    = manager.getCameraCharacteristics(cameraId);
            float[] intrinsic = new float[5];
            intrinsic = characteristics.get(CameraCharacteristics.LENS_INTRINSIC_CALIBRATION);
    //...... leave out the following part
        }
    }

Предполагается, что встроенным будет массив из 5 элементов, но intrinsic = characteristics.get(CameraCharacteristics.LENS_INTRINSIC_CALIBRATION) возвращает ноль.

1 ответ

Характеристики объектива гарантированно будут определены только в том случае, если устройство камеры поддерживает функцию DEPTH_OUTPUT.

На данный момент расширения глубины API camera2 являются новыми и пока не поддерживаются практически любым устройством Android.

Другие вопросы по тегам