2011-11-12 20 views
7

Actualmente me estoy embarcando en un proyecto relacionado con las cámaras Android que me obligaría a detectar ciertos colores durante la vista previa en vivo o después de tomar la foto.Detección de color con la cámara Android

he logrado configurar correctamente la cámara con vista previa en vivo y todo, pero actualmente estoy atascado en la detección de los colores. Por ejemplo, me gustaría detectar el color verde durante la vista previa en vivo de la cámara y enviar un comentario al usuario. No necesariamente debe hacerse durante la vista previa en vivo, ya que he estado pensando que tomar una foto y luego hacer la detección de color podría lograrse de una manera más fácil.

Soy un novato completa sobre la programación de Android, por lo que cualquier tipo de dirección con respecto a cómo codificar el algoritmo de detección de color sería muy apreciada!

Respuesta

1

Si quieres ir para el método simple entonces obtener una imagen de mapa de bits de la cámara y utilizar bitmap.getpixel(int x,int y) para obtener el color y comparar los píxeles con el color que desea

0

"Color Grab" es una aplicación para Android que hace lo necesitas. La aplicación tiene el mejor algoritmo de detección/reconocimiento de color y funciona perfectamente. Puedes ver cómo funciona.

Color Grab on Google Play

0

Debe probar este donde x e y es la posición del píxel

int frameHeight = camera.getParameters().getPreviewSize().height; 
int frameWidth = camera.getParameters().getPreviewSize().width; 
int rgb[] = new int[frameWidth * frameHeight]; 
decodeYUV420SP(rgb, data, frameWidth, frameHeight); 
Bitmap bmp = Bitmap.createBitmap(rgb, frameWidth, frameHeight, Config.ARGB_8888); 
int pixel = bmp.getPixel(x,y); 
int redValue = Color.red(pixel); 
int blueValue = Color.blue(pixel); 
int greenValue = Color.green(pixel); 
int thiscolor = Color.rgb(redValue, greenValue, blueValue); 
Cuestiones relacionadas