#AZURE Hello Face: WebCam and Windows 8.1 apps

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

6. Hello Face: Windows 8.1 Apps and MVVM

7. Hello Face: Webcam and Windows 8.1 Apps

Yesterday I got a MVVM related question, today is how hard is to use the webcam and Face APIs. So you must add first some capabilities into your app so you can Access camera and mic, and I use this class (and old one) which takes and picture and returns a Storage File.

You can use an UI (like in the video) or in silet mode. Both returns a StorageFile, so you can reuse the code from previous posts.

A live sample like always

The source code is available in GitHub https://github.com/elbruno/ProjectOxford

Saludos @ Madrid

/El Bruno

Resources:

Scrum is not for amateurs

– MSDN System.UI.Xaml.Canvas

– MSDN Windows.Storage.StorageFile

Advertisements

#AZURE Hello Face: WebCam y apps Windows 8.1 (7)

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

7. Hello Face: WebCam y Apps Windows 8.1

Ayer la pregunta fue sobre MVVM, hoy me llega una sobre qué tan complicado es integrar Face API con la webcam. Pues bien, una vez habilitados los permisos en el manifiesto de la aplicación, yo he utilizado esta clase que escribí hace un tiempo, para tomar una foto con la webcam por defecto y luego retornar un StorageFile.

Esta clase saca las fotos utilizando la UI o en modo silencioso. En ambos casos, retorna un StorageFile, con lo que la implementación es muy similar a la anterior. 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

– MSDN Windows.Storage.StorageFile

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

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

6. Hello Face: Windows 8.1 Apps and MVVM

Some people wants to see the world on fire, and most of them usually doesn’t care about simplicity. In example, for a simple app with a view and a button, they add an unnecessary infrastructure which really doesn’t add any value (my post about Scrum is not for beginners may be can explain this topic). So if we need to Upgrade my previous sample, to be used with an MVVM pattern, one solution can be these one.

First we need to create a Canvas Collection, and complete some face location information for each Canvas, like width and height. BTW, try to create a data binding for a Margin is almost impossible.

I added some transparency into the background color of the Canvas so it will be added in a cool way over each face, In the XAML file we add an ItemsControl and complete the Items Source property with our binding.

Done ¡!! We get a new Canvas in each detected face, similar to this one.

The source code is available in GitHub https://github.com/elbruno/ProjectOxford

Saludos @ Madrid

/El Bruno

Resources:

Scrum is not for amateurs

– MSDN System.UI.Xaml.Canvas

#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#)

[#VS2013] HowTo: Use #BingMaps to #Win8 apps with Visual Studio 2013 (without having to use VS2012)

image

Hello

a couple of days ago I wrote about how complicated it is to work in Visual Studio 2013 with Windows 8 Store Apps projects . With cases like the Bing Maps, this is even more complicated.

Now, even if you still need a laptop with VS2012 to create the project for Windows 8 app, then you can start working in an environment without VS2012. In the case of Bing Maps, so that the IDE not required access to these dlls, what you can do is the follows:

1. On a computer with VS2012 and BingMaps SDK installed, you access the folder

C:\Users\ < user > \AppData\Local\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\

2. Inside of the same located the BingMaps folder

C:\Users\ < user > \AppData\Local\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\Bing.Maps.Xaml\1.113.0601.2\

3 Copy this folder to the environment where only have VS2013

4 Ready!

From this moment your VS2013 will not show strange messages of compilation.

Obviously this is useful not only for Bing Maps but also for all the other extensions for Win8

Greetings @ Home

El Bruno

imageimageimageGoogle

[#VS2013] HowTo: Usar #BingMaps para #Win8 apps con Visual Studio 2013 (sin tener que utilizar VS2012)

image

Hola,

hace un par de días escribí sobre lo complicado que es trabajar en Visual Studio 2013 con proyectos de Windows 8 Store apps. Con casos como el de Bing Maps, esto se complica más aún.

Ahora bien, si bien sigo necesitando un laptop con VS2012 para crear el proyecto para Windows 8, luego ya puedo trabajar en un environment sin VS2012. En el caso de Bing Maps, para que el IDE no pida el acceso a estas dlls, lo que puedes hacer es lo siiguiente:

1. En un ordenador con VS2012 y BingMaps SDK instalado, accede al directorio

C:\Users\<user>\AppData\Local\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\

2. Dentro del mismo localiza el directorio de BingMaps

C:\Users\<user>\AppData\Local\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\Bing.Maps.Xaml\1.113.0601.2\

3. Copia este directorio al entorno donde SOLO TIENES VS2013

4. Listo!

A partir de este momento tu VS2013 no mostrará mensajes extraños de compilación.

Obviamente esto es útil no solo para Bing Maps sino también para todas las demás extensiones para Win8

 

Saludos @ Home

El Bruno

image image image Google