2010-12-07 22 views
7

Quiero utilizar el marco precedente para procesar la imagen antes de mostrarla al usuario (es decir, aplicar un tinte de color, sepia, etc.). Según tengo entendido, los datos de byte [] devueltos a la devolución de llamada están codificados en YUV420sp. ¿Las personas han estado decodificando esto en RGB en Java o usando NDK (código nativo)? ¿Alguien tiene un ejemplo de una función que decodifica esto en RGB y cómo se usan los valores RGB después?Procesamiento de imágenes con la cámara Android

Gracias.

Respuesta

7

Encontré una aplicación de muestra que traduce el YUV420 a RGB y muestra (tipo de) histogramas en tiempo real sobre la imagen de vista previa.

http://www.stanford.edu/class/ee368/Android/index.html

+1

Niza enlace, gracias. Lo estoy ejecutando en un destino virtual de Android, sin embargo, la decodificación YUV420-> RGB es REALMENTE lenta, a pesar de que se trata simplemente de adiciones/multiplicaciones/fijación. ¿Es esto algo que se esperaría en mi entorno de depuración? (¡Soy un novato completo! :) – Robert

+0

Sí, la implementación en ese código no está optimizada en absoluto. Si estuviera haciendo ese tipo de cosas en una aplicación real, implementaría el truco de bit en el código nativo. – anelson

Cuestiones relacionadas