Determinación de la resolución de la cámara (es decir, megapíxeles) Programatically in Android

Estoy desarrollando una aplicación de Android en 2.2, que utiliza la cámara. Ahora ¿Puede alguien decirme que "es posible determinar mediante programación la resolución de la cámara en megapíxeles en Android"

Cualquier ayuda sería muy apreciable.

¿Qué significa resolución de imagen?

La resolución se refiere al número de píxeles en una imagen. La resolución se identifica a veces por el ancho y la altura de la imagen, así como el número total de píxeles en la imagen. Por ejemplo, una imagen que tiene 2048 píxeles de ancho y 1536 píxeles de alto (2048 X 1536) contiene (multiplicar) 3,175,728 píxeles (o 3,1 megapíxeles). Se puede llamar una imagen 2048X1536 o 3.1 Megapíxeles. Como los megapíxeles en el dispositivo de captura en su aumento de la cámara también lo hace la imagen de tamaño máximo posible que puede producir. Esto significa que una cámara de 5 megapíxeles es capaz de capturar una imagen más grande que una cámara de 3 megapíxeles.

Ejemplo: 1936 x 1552/1024000 = 3 megapíxeles

Si tienes el objeto de la cámara, intenta:

android.hardware.Camera.Parameters parameters = camera.getParameters(); android.hardware.Camera.Size size = parameters.getPictureSize(); int height = size.height; int width = size.width; 

Prueba esto

 public float getBackCameraResolutionInMp() { int noOfCameras = Camera.getNumberOfCameras(); float maxResolution = -1; long pixelCount = -1; for (int i = 0;i < noOfCameras;i++) { Camera.CameraInfo cameraInfo = new CameraInfo(); Camera.getCameraInfo(i, cameraInfo); if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) { Camera camera = Camera.open(i);; Camera.Parameters cameraParams = camera.getParameters(); for (int j = 0;j < cameraParams.getSupportedPictureSizes().size();j++) { long pixelCountTemp = cameraParams.getSupportedPictureSizes().get(j).width * cameraParams.getSupportedPictureSizes().get(j).height; // Just changed i to j in this loop if (pixelCountTemp > pixelCount) { pixelCount = pixelCountTemp; maxResolution = ((float)pixelCountTemp) / (1024000.0f); } } camera.release(); } } return maxResolution; } 

Añadir este permiso en el manifiesto android

 <uses-permission android:name="android.permission.CAMERA" /> 

Puedes conseguir esto para obtener la lista de tamaños admitidos. GetSupportedSizes ()

El tamaño más alto le daría la resolución de la cámara en píxeles.

EDIT: Por si no lo sabes.

Resolución en píxel = ancho x altura

Sí, así me funciona. Una nota más aquí, getPictureSize () devolverá una lista de tamaño admitido con diferentes alturas y anchos. Para calcular la resolución en píxeles de la cámara del dispositivo, obtenga la mayor altura y ancho de la lista de tamaños.

  • Animación suave de una ruta de cámara en una vista de mapa
  • Método llamado después de la liberación Exception Camera preview
  • Android: cómo mostrar la vista previa de la cámara con devolución de llamada?
  • Vista previa de la cámara Android Cambiar entre las cámaras
  • ¿Cómo maneja el android las diferencias entre el tamaño de vista previa y el tamaño real de SufaceView?
  • ¿Quién tiene un material de cómo trabajar con la cámara de detección de la cara 2 API?
  • Rotación de la matriz de bytes de JPEG después de onPictureTaken
  • Android hace que las aplicaciones de Cordova se reinicien cuando se usan los complementos de Cámara y Captura de Cordova
  • Transmitir vídeo en vivo desde la cámara en android
  • Cámara en el emulador de Android
  • Establecer el enfoque de la cámara a una distancia fija controlada en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.