#AZURE Hello Face: MVVM en apps Windows 8.1 (6)

Hola!

Nuevo post para la serie de Face Api en Azure

1. Face APIs en Azure

2. Hello Face: Face APIs en una Console App

3. Hello Face: Face APIs en una WPF App

4. Hello Face: Face APIs en una app Windows 8.1

5. Hello Face: Marcos sobre cada rostro detectado en la app Windows 8.1

6. Hello Face: MVVM en apps Windows 8.1 (6)

Esa manía de utilizar el patrón MVVM me suele poner de mal humor, especialmente cuando para algo tan simple como una página con un botón es necesario crear una infraestructura que no aporta valor (lee mi post sobre Scrum no es para aficionados para comprender a que me refiero). Pues bien, en el caso de que necesitemos utilizar una vista con un view model, una solución puede ser similar a la siguiente

En primer lugar creamos una colección de Canvas, y para cada Canvas completamos información como el alto, el ancho y la posición con un margin. Por cierto, es casi imposible crear un binding de un margin, as que mejor por source code.

Un detalle interesante es que el Background del Canvas está creado con un color con un porcentaje de transparencia. En el XAML utilizamos un agregador de tipo ItemsControl y asociamos esta propiedad en el binding del mismo.

Y todo listo ¡!! El resultado es un Frame en cada rostro detectado, por ejemplo

El código fuente en GitHub se puede descargar desde https://github.com/elbruno/ProjectOxford

Saludos @ Madrid

/El Bruno

Resources:

Scrum no es para aficionados

– MSDN System.UI.Xaml.Canvas

#AZURE Hello Face: Frame in each detected face in Windows 8.1 App (5)

Hello!

New post for Azure Machine Learning Face APIs series

  1. Face APIs in Azure
  2. Hello Face: Face APIs in a Console App
  3. Hello Face: Face APIs in a WPF App
  4. Hello Face: Face APIs in a Windows 8.1 App
  5. Hello Face: Frame in each detected face in Windows 8.1 App

To complete yesterday-s post; I was missing a small modification to display a Frame in every detected face in the Windows 8.1 app. In the original example of WPF this stored it in a property of type Int32Rect. You cannot use this type in Windows Universal Apps, so I have created 4 new properties to store this value.

Once added these classes, this was a bit of trigonometry to adjust the value of each detected face. The source code is fairly simple

And then in a Canvas, we created a series of Rectangles with the new values

The final app will Display a new Frame in each detected face

All the source code is in GitHub, here https://github.com/elbruno/ProjectOxford

Saludos @ Madrid

/El Bruno

Resources:

– MSDN System.Windows.Int32Rect

#AZURE Hello Face: Marcos sobre cada rostro detectado en la app Windows 8.1 (5)

Hola!

Nuevo post para la serie de Face Api en Azure

  1. Face APIs en Azure
  2. Hello Face: Face APIs en una Console App
  3. Hello Face: Face APIs en una WPF App
  4. Hello Face: Face APIs en una app Windows 8.1
  5. Hello Face: Marcos sobre cada rostro detectado en la app Windows 8.1

Ayer me quedó pendiente una pequeña modificación para mostrar un Frame en cada rostro detectado en la app Windows 8.1. En el ejemplo original de WPF esto lo almacenaba en una propiedad de tipo Int32Rect. En Windows Universal Apps no es posible utilizar este tipo, así que he creado 4 propiedades nuevas para guardar este valor.

Una vez agregadas estas clases, lo siguiente era un poco de trigonometría para ajustar el valor de cada rostro detectado. El código es bastante simple

Y luego en un Canvas, creamos una serie de Rectangles con los nuevos valores.

El resultado es un Frame en cada rostro detectado

El código fuente en GitHub se puede descargar desde https://github.com/elbruno/ProjectOxford

Saludos @ Madrid

/El Bruno

Resources:

– MSDN System.Windows.Int32Rect

#AZURE Hello Face: #FaceAPIs for an App Windows 8.1 (4)

Hello!

New post for Azure Machine Learning Face APIs series

  1. Face APIs in Azure
  2. Hello Face: Face APIs in a Console App
  3. Hello Face: Face APIs in a WPF App
  4. Hello Face: Face APIs in a Windows 8.1 App

After the examples of console app and WPF app, today we will see a bit of Face Tracking in an app Windows 8.1. For this app I have "simplified" a little code and within it I have to highlight.

– In the list of faces showing the result, each Face was a cutout from the original image. In Win81 we don’t have a UIElement type T:System.Windows.media.Imaging.CroppedBitmap, so taking This example code, I’ve added a class that allows me to create the cutout of each Face from the original image

– To display them in the app, to the original image and faces cuts "I keep them" in the temporary directory of the app.

– In the original image does not show a square on each Face, as have a few minutes I will be playing with a Canvas and complete it.

Always better as a video that shows the app running and then the source code

On GitHub source code can be downloaded from https://github.com/elbruno/ProjectOxford

Saludos @ Madrid

/El Bruno

Resources:

How to crop bitmap in a Windows Store app (C#)

#AZURE Hello Face: #FaceAPIs en una App Windows 8.1 (4)

Hola!

Nuevo post para la serie de Face Api en Azure

  1. Face APIs en Azure
  2. Hello Face: Face APIs en una Console App
  3. Hello Face: Face APIs en una WPF App

Después de los ejemplos de app de consola y app WPF, hoy veremos un poco de Face Tracking en una app Windows 8.1. Para esta app he “simplificado” un poco el código y dentro del mismo tengo que destacar

– En la lista de caras que se muestra del resultado, cada Face era un recorte de la imagen original. En Win81 no tenemos un UIElement de tipo CroppedBitmap, así que tomando este ejemplo de código he agregado una clase que me permite crear el recorte de cada Face a partir de la imagen original

– Para mostrarlas en la app, a la imagen original y los recortes de faces los “guardo” en el directorio temporal de la app.

– En la imagen original no muestro un cuadrado sobre cada Face, en cuanto tenga unos minutos me pondré a jugar con un Canvas y lo completaré.

Como siempre mejor un video que muestre la app en funcionamiento y a continuación el source code

El código fuente en GitHub se puede descargar desde https://github.com/elbruno/ProjectOxford

Saludos @ Madrid

/El Bruno

Resources:

How to crop bitmap in a Windows Store app (C#)