Detección de rostros usando ML-KIT de Google en su dispositivo – Android | Danés Amjad Octubre de 2020

Para detectar caras en una imagen, necesitamos preparar una imagen de entrada. Ahora tenemos varias opciones para preparar la imagen de entrada.

También podemos crear una imagen de entrada a partir de los medios. Imagen: se utiliza al tomar una fotografía con la cámara del dispositivo.

val image = InputImage.fromMediaImage(mediaImage,rotation)

También puede crear una imagen de entrada usando byteBuffer o ByteArray – Para hacer esto, necesitamos crear InputImage objeto con búfer o matriz junto con altura, ancho, formato de codificación de color y grado de rotación de la imagen:

val image = InputImage.fromByteBuffer(
byteBuffer,
/* image width */ 480,
/* image height */ 360,
rotation,
InputImage.IMAGE_FORMAT_NV21 // or IMAGE_FORMAT_YV12
)
// Or:
val image = InputImage.fromByteArray(
byteArray,
/* image width */ 480,
/* image height */ 360,
rotation,
InputImage.IMAGE_FORMAT_NV21 // or IMAGE_FORMAT_YV12
)

Crearemos una instancia de la imagen de entrada, a la que debemos pasar el contexto de la aplicación y la URI del archivo InputImage.fromFilePath

val image: InputImage
try {
image = InputImage.fromFilePath(context, uri)
} catch (e: IOException) {
e.printStackTrace()
}

Para esta demostración, utilizo un mapa de bits para preparar la imagen de entrada, saltemos al código como se ve.

val bitmap = (imageView.drawable as BitmapDrawable).bitmap
val image = InputImage.fromBitmap(bitmap, 0)

Nota: Imagen con dimensiones al menos 480 x 360 píxeles para la detección de rostros.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *