Hola!
Nuevo post para la serie de Face Api en Azure
- Face APIs en Azure
- Hello Face: Face APIs en una Console App
- Hello Face: Face APIs en una WPF App
En el post anterior puse las 10 líneas de ejemplo con las que podemos incorporar una funcionalidad básica de Face APIs en una app de consola para:
- detectar rostros y sobre los mismos
- detectar edad
- detectar sexo
Además otra opción que no brinda Face APIs es la capacidad de identificar la región en la que está el rostro sobre la imagen original. En el siguiente ejemplo, he agregado un proyecto de tipo WPF y he referenciado la ClientLibrary en el mismo. El mismo se basa en uno de los ejemplos del SDK de Face APIs.
Este projecto tiene 2 elementos importantes
– lib \ FaceApiHelper.cs. Esta clase es la que tiene la llamada y posterior procesamiento de las imagenes que nos retorna el servicio de Face APIs.
– UserControls \ Face.cs. Representa un User Control, con una imagen para mostrar la cara, y además una serie de labels para mostrar la edad y el sexo.
La ventana principal MainWindow.xaml posee un boton para seleccionar una imagen del disco y por debajo 2 secciones donde se muestra la imagen original con recuadros en cada cara encontrada y una lista con las caras encontradas. El código al presionar el botón es muy simple
Importante: La key para utilizar el servicio de Face API es parte de las settings de la app.
La funcion StartFaceDetection() retorna 2 colecciones de Faces. Una de ellas con la información de edad y sexo del rostro encontrado, la otra es un objeto especial utilizado para “pintar” recuadros sobre la imagen original.
Si has podido ver el código y no vomitar con el control de errores, ya puedes probar la aplicación. Un ejemplo de la app en funcionamiento es el siguiente:
Si quieres ver la transformación especial para pintar los recuadros, puedes echarle un vistazo a CalculateFaceRectangleForRendering().
El código se puede descargar desde https://github.com/elbruno/ProjectOxford/tree/master/Samples
Saludos @ Madrid
/El Bruno
14 comments