Cómo indentify dedo está en la lente de la cámara o no en android?
Estoy tratando de medir el ritmo cardíaco con la cámara en el dispositivo Android.
Por lo que veo, Colocar la punta del dedo en la lente de la cámara y ver los cambios en los fotogramas en la cámara. He intentado la aplicación aquí pero no parece ser correcta.
- Obtener sólo la parte superior de la cámara
- Cómo asignar coordenadas de marco a superposición en la visión
- Cómo devolver un mapa de bits con onPictureTaken en Android?
- La devolución de llamada de autofocus de la cámara no ocurre
- Android: cómo mostrar la vista previa de la cámara con devolución de llamada?
- Android mock Cámara
- Android: Cámara Asynctask con devolución de llamada de vista previa
- Obtener imagen Uri + miniatura de la foto tomada con la cámara en Android
- nuevo android Camera2 Api en el nexo 7
- La aplicación cuelga / se congela cuando se utiliza camera.open () - Reinicio del dispositivo necesario
- Rotar vídeo con mp4parser de acuerdo con la cámara utilizada
- Muestra imágenes de cámara como mapa de bits Android
- Uso de la cámara de teléfonos, después de capturar la actividad de la imagen no volver a la actividad particular
Por favor, compruebe este post en GoolgCode
http://code.google.com/p/android-heart-rate-monitor/issues/detail?id=1#c22
Explica cómo comprobar el dedo está en la cámara o no.
"Para cualquier persona interesada, me di cuenta de cómo detectar si el usuario tiene su dedo colocado en la cámara o no.En la imageProcessing.java, en el método decodeYUV420SPtoRedAvg (), calculamos el valor promedio de los píxeles del color rojo. Haciendo un pequeño experimento, me enteré de que cuando el usuario tiene su dedo colocado en la lente de la cámara, el promedio tiene un valor de 200. En otro caso, el valor medio es <200. por lo tanto, en la HeartRateActivity puede agregar un If después de la llamada de decodeYUV420SPtoRedAvg (), para encontrar si el valor devuelto es> 200 o <199. Puede usar esto para mostrar un cuadro de alerta o algo similar para guiar al usuario a colocar su dedo en la lente de la cámara.
Una solución
En android, podemos abrir la cámara en el fondo así que podemos comprobar el color o RGB cuando cubrimos la cámara entera usando nuestro golpecito de dedo.
Cuando obtenemos color del mismo color en ese momento sabemos que la cámara se tapa totalmente con el toque de los dedos y ahora se puede medir la frecuencia cardíaca.
Otra solución
- Grab marco de imagen de la cámara
- Compare las métricas de imagen del marco con el marco anterior. Usted necesita calcular qué métricas utilizar: brillo, color, etc.
- Si las métricas son significativamente diferentes en una dirección, entonces usted tiene un latido.
- Detener una cantidad indeterminada de tiempo.
- Ir a 1
Demostración de la frecuencia cardíaca si es útil Demostración de HeartRate
Todo lo que tienes que hacer es abrir la aplicación HeartRateMonitor y luego mantener la punta del dedo índice sobre la lente de la cámara de tu teléfono. Toda la imagen de vista previa de la cámara debe ser roja con un área más clara donde la punta de su dedo está tocando. No presione demasiado fuerte o usted cortará la circulación que dará lugar a una lectura inexacta.
Después de un segundo o dos, debe ver el icono de Android en la parte superior de la pantalla comienza a destellar de color rojo cuando se detecta un latido del corazón. Después de diez segundos calculará su ritmo cardíaco y actualizará el número al lado del ícono de Android. Tomará entre diez y treinta segundos para obtener una frecuencia cardíaca precisa.