Vamos a crear una App que, a partir de una imagen desde nuestra cámara, nos indique lo que es.
Para ello tenemos que incorporar una extensión que realiza la función de la clasificación. Esta extensión se llama: “Look Extensión” y funciona en inglés (ver apartado Extensiones para poder descargarla.
Paso 1: Incorporación de la extensión a nuestra App.
Para incorporar dicha extensión a nuestra App deberemos:
Buscar el apartado “Extensión” dentro de la Paleta que está a la izquierda (donde se encuentran todos los objetos disponibles para las app’s)
Hacer click en “Import extension” y buscar el archivo en nuestro ordenador. Esperar hasta que el ordenador nos indique que se ha incorporado la extensión.
Paso 2: Diseño App.
Deberemos incorporar a nuestra App los siguientes elementos
Etiqueta denominada “estado” donde se mostrará la información de la clasificación que realiza la extensión.
WebViewver: donde se mostrará la imagen de la cámara
Botón “Clasificar”: para llamar a la extensión para que haga la clasificación. Poner la propiedad "Habilitado" como "Falso" para que al arrancar la aplicación no se pueda hacer click en el botón.
Elemento “LookExtension: para poder utilizar la extensión, indicando en la propiedad "WebViewer" el nombre del componente WebViewer que hemos incluido en nuestro diseño.
Componente Translator que permite traducir un texto a diferentes idiomas.
Componente TextoAVoz que hace que la App lea el texto que le indiquemos.
En el siguiente proceso vamos a crear una "url" que nos permite que al ejecutarla se descargue automáticamente dicha hoja de cálculo en el dispositivo correspondiente. Veamos como construir "url".
ESQUEMA DEL PROCESO
Esquema del Proceso
Detalle Proceso
Paso 3: Programación por Bloques.
A continuación se incluyen los diferentes bloques que habría que crear con la explicación de lo que hace cada uno de ellos.
Creación variable "errorMessages" para controlar los posibles errores que la extensión "LookExtensión" puede dar
Controlar cuando hay conexión con la extensión (cuando está lista) para habilitar el botón "Clasificar" y poner "Ready" en la etiqueta.
Definir el funcionamiento del botón “Clasificar” – lanzar la clasificación
Definimos el proceso de gestión de los errores de la extensión “LookExtension”. Se muestra en el cuadro de texto en caso de error.
Definimos el proceso en el que capturamos la respuesta de la extensión cuando haya hecho la clasificación (GotClassification)
La clasificación "llega" en la variable "Resultado" que es una lista y nos quedamos con el primer valor (índice 1), y lo guardamos en la variable global "texto" que habremos creado previamente (inicializar global...). Este mensaje llega por ejemplo con el siguiente texto: (laptop 0,67893)
Además llamaremos al proceso "formato" para dar formato a la respuesta (este procedimiento se explica más bajo)
Finalmente, como montamos el mensaje en inglés, llamaremos al componente "Traductor" para que pase de inglés a español (en-es) el mensaje que tendremos almacenado en la variable "texto".
Como hemos enviado el mensaje al traductor ahora tenemos que controlar cuando el traductor haya recibido la traducción pra ponerla en la etiqueta y a su vez llamamos al componente "TextoAVoz" para que lea el mensaje.
A continuación se explica el procedimiento "formato" en el que montamos el mensaje anterior.
Partiendo de: (laptop 0,67893)....en este proceso....
quitamos paréntesis inicial laptop 0,67893)
quitamos paréntesis final laptop 0,67893
obtenemos el nombre del objeto quitando las ultima 8 posiciones: laptop
obtenemos el porcentaje de semejanza cogiendo las ultimas 7 posiciones: 0,67893
construimos un texto "similitud" en inglés en función del porcentaje de semejanza
montamos el texto final uniendo el texto que hemos construido en "similitud" y uniendo el nombre del objeto indicando que es semejante "con una probabilidad de..." y redondeamos el porcentaje multiplicado por 100 para que solo pongamos dos cifras .