Как использовать фронтальную камеру в API для обнаружения тензорных объектов на демоверсии Android - PullRequest
0 голосов
/ 24 июня 2019

Я хочу использовать фронтальную камеру в демоверсии Android от tenorflow, что я должен изменить в коде, потому что я не очень знаком с Android.

Это код, который я изменил, но не решилпроблема

private String chooseCamera() {
    final CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
    try {
      for (final String cameraId : manager.getCameraIdList()) {
        final CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);

        // We don't use a front facing camera in this sample.
        final Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);
        if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) {
          continue;
        }

        final StreamConfigurationMap map =
            characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);

        if (map == null) {
          continue;
        }

        // Fallback to camera1 API for internal cameras that don't have full support.
        // This should help with legacy situations where using the camera2 API causes
        // distorted or otherwise broken previews.
        useCamera2API = (facing == CameraCharacteristics.LENS_FACING_EXTERNAL)
            || isHardwareLevelSupported(characteristics, 
                                        CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL);
        LOGGER.i("Camera API lv2?: %s", useCamera2API);
        return cameraId;
      }
    } catch (CameraAccessException e) {
      LOGGER.e(e, "Not allowed to access camera");
    }

    return null;
  }

Первоначально это был Lens_Facing_Back, я сделал это Lens_Facing_Front

1 Ответ

0 голосов
/ 25 июня 2019

Разобрался.В legacyCameraConnectionFragment есть функция с именем getCameraID().Откройте его реализацию и измените CAMERA_FACING_BACK на CAMERA_FACING_FRONT.

...