¿Cómo debo ajustar los valores de exposición y balance de blancos para la cámara personalizada

¿Qué pasaría si no establezco la exposición y el balance de blancos al inicializar los parámetros de la cámara en una cámara personalizada de Android. ¿La cámara maneja éstos por sí sola o necesito especificar valores cuando se inicializa la cámara?

He tenido problemas con el flash en el pasado, la configuración de la exposición y el balance de blancos a valores específicos me ayudan a superar estos problems.I no tienen ningún plan para permitir que el usuario manualmente tinker con la exposición y / o la configuración de balance de blancos.

Tengo el código siguiente establecido:

if(isSupported(Camera.Parameters.SCENE_MODE_AUTO, mParameters.getSupportedSceneModes())) { mSceneMode=Camera.Parameters.SCENE_MODE_AUTO; mParameters.setSceneMode(mSceneMode); } int min=mParameters.getMinExposureCompensation(); int max=mParameters.getMaxExposureCompensation(); float step=mParameters.getExposureCompensationStep(); //do i need to setExposureCompensation here?? if(mSceneMode==Camera.Parameters.SCENE_MODE_AUTO && isSupported(Camera.Parameters.FLASH_MODE_AUTO,mParameters.getSupportedFlashModes())) { //ususally when I let the flash fire,the image is filled with light //all that does is make everything else undecipherable... mFlashMode=Camera.Parameters.FLASH_MODE_AUTO; mParameters.setFlashMode(mFlashMode); } if(isSupported(Camera.Parameters.WHITE_BALANCE_AUTO,mParameters.getSupportedWhiteBalance())) { mWhiteBalanceMode=Camera.Parameters.WHITE_BALANCE_AUTO; mParameters.setWhiteBalance(mWhiteBalanceMode); } 

He leído que los ciclos de autoexposición y de balance de blancos automáticos se detienen cuando se aplican autoExposureLock y autoWhiteBalanceLock. ¿Por qué y cómo debo usar estos bloqueos en el código de mi cámara?

Con base en mi propio desarrollo, la exposición y el balance de blancos se establecen de forma predeterminada en "Auto": Auto-exposición "y" Balance de blancos automático ".

Puede comprobar los modos compatibles con:

 mCameraParameters = mCamera.getParameters(); Log.i(TAG, "Supported Exposure Modes:" + mCameraParameters.get("exposure-mode-values")); Log.i(TAG, "Supported White Balance Modes:" + mCameraParameters.get("whitebalance-values")); 

Y compruebe los modos actuales con:

 Log.i(TAG, "Exposure setting = " + mCameraParameters.get("exposure")); Log.i(TAG, "White Balance setting = " + mCameraParameters.get("whitebalance")); 

Si quieres usar otro modo, puedes configurarlo de esta manera:

 mCameraParameters.set("exposure", "night"); mCamera.setParameters(mCameraParameters); 
  • Android 1.6 Rotación de la cámara?
  • HasSystemFeature (PackageManager.FEATURE_CAMERA) devuelve true para el dispositivo sin cámara
  • Android: la imagen tomada por la cámara personalizada es demasiado oscura
  • ¿Cómo hacer que QVideoProbe funcione?
  • Rotación de la cámara ortográfica
  • Cambiar la cámara trasera / frontal en marcha
  • Android, cámara frontal y posterior Orientación, Paisaje
  • Cómo capturar los marcos de imagen de vista previa desde la aplicación de cámara en la programación de Android?
  • Se ha producido un error al establecer la orientación
  • Animación suave de una ruta de cámara en una vista de mapa
  • Uso de android.view.SurfaceView con una cámara en parte de la pantalla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.