Pregunto si hay una manera simple porque hay un informe de problema de Google que dice que usar decodeByteArray no es posible. Pero ese informe se originó en 2008 y esperaba que hubiera una solución no publicada allí. El método enumerado en el informe de problemas era decodificar el formato usted mismo, pero preferiría no tener que ponerlo en el programa y ralentizarlo. Cualquier ayuda sería apreciada.¿Hay una forma simple de convertir la matriz de bytes del onPreviewFrame de la cámara en una imagen en Android?
Respuesta
La forma más fácil es crear un BufferedImage la siguiente manera:
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0. data.length);
datos es la matriz de bytes.
Supongo que su matriz de bytes proviene de la vista previa de la cámara? Si es así, debes decodificarlo pero con 2.2 es bastante fácil ahora.
crear una imagen YUV de la matriz de bytes que los datos sólo estarán en ImageFormat.NV21(int code 17)
img = new YuvImage(imgData, ImageFormat.NV21, width, height, null);
crear un rectángulo del mismo tamaño que la imagen.
Crea un ByteArrayOutputStream
y pasa este, el rectángulo y el valor de compresión a compressToJpeg()
.
continuación, puede utilizar
Bitmap mBitmap = BitmapFactory.decodeByteArray(outputStream.toByteArry(),0,outputStream.size());
lo uso para todos los fotogramas de la devolución de llamada y funciona bien. Espero que esto ayude.
¿Puedes mostrar tu código correctamente? – Nepster
- 1. bytes Android [] a la imagen en Camera.onPreviewFrame
- 2. Convertir matriz de bytes a la imagen en WPF
- 3. La forma más fácil de convertir una Blob en una matriz de bytes
- 4. Cámara onPreviewFrame no llamada
- 5. Convertir matriz de bytes base64 a una imagen
- 6. Cómo convertir una matriz de bytes en una matriz int?
- 7. La forma más fácil de convertir una matriz de bytes en Blob en Java
- 8. Configuración del tamaño de imagen de la cámara en Android
- 9. Convertir una matriz de bytes a una clase que contiene una matriz de bytes en C#
- 10. Mejor forma de convertir una matriz de bytes [] en una memoria de cadenas
- 11. Java: convertir la lista de bytes en una matriz de bytes
- 12. Convertir imagen en una matriz en python
- 13. Forma más rápida (rendimiento) de convertir una cadena en una matriz de bytes [] en C#
- 14. ¿La forma más rápida de convertir una matriz de cadenas en una matriz doble?
- 15. ¿Hay alguna forma mejor de invertir una matriz de bytes en la memoria?
- 16. ¿Cómo convertir una matriz de bytes a una matriz int?
- 17. Guardar un archivo de imagen en el servidor sql y convertir una matriz de bytes en la imagen
- 18. Android ¿La mejor manera de convertir una matriz de bytes a Bitmap?
- 19. conseguir la imagen de la matriz de bytes en el objeto JSON para aplicación Android
- 20. Cómo convertir imágenes en matriz de bytes
- 21. Problemas al convertir una matriz de bytes a una cadena y volver a la matriz de bytes
- 22. ¿Cómo convertir una matriz de bytes en doble en C?
- 23. Convertir una matriz de cadenas a matriz de bytes
- 24. Cámara Android: ¿cómo puedo tomar un "rectángulo" específico de la matriz de bytes?
- 25. convertir html a la imagen en la matriz de bytes de Java
- 26. Procesamiento de marcos de cámara Android en tiempo real
- 27. cómo convertir la matriz de bytes en una matriz de enteros
- 28. Convertir matriz de bytes a la imagen en Java - sin saber el tipo
- 29. Orientación de cámara/imagen en Android
- 30. píxeles de la cámara girados
¿Estás seguro de que funciona en Android? No puedo encontrar ningún material de referencia para BufferedImage o ImageIO. Está listado en la referencia del lenguaje Java pero no en el de Android – RyoxSinfar
Sí, copié el código incorrecto. Modifiqué mi respuesta Lo siento. – RoflcoptrException
Lastima lo que originalmente pensé que era la respuesta, pero me devuelve un mapa de bits nulo. – RyoxSinfar