Buscar..


Observaciones

En este ejemplo se utilizó el paquete Microsoft.ProjectOxford.Vision NuGet: https://www.nuget.org/packages/Microsoft.ProjectOxford.Vision/

Para leer más acerca de los servicios de Microsoft cognitivas por favor refiérase a la documentación oficial: https://www.microsoft.com/cognitive-services/en-us/computer-vision-api

Encuentre muestra cargado en mi GitHub: https://github.com/Daniel-Krzyczkowski/XamarinIOS/tree/master/XamariniOS_CognitiveServices

También hay que adjuntar un enlace a mi blog donde presenté cómo utilizar los servicios cognitivos con Xamarin Forms: http://mobileprogrammer.pl

Conectando con Microsoft Cognitive Services

En este ejemplo, aprenderá a usar los Servicios cognitivos de Microsoft con la aplicación móvil Xamarin iOS. Usaremos Computer Vision API para detectar lo que hay en la imagen.

Una vez que cree el proyecto Xamarin.iOS, a continuación agregue el paquete NuGet al proyecto:

https://www.nuget.org/packages/Microsoft.ProjectOxford.Vision/

Con esta biblioteca podremos utilizar los Servicios cognitivos en nuestra aplicación iOS. Supongo que ya tiene una cuenta de Microsoft registrada para usarla y ha habilitado Computer Vision Api como en la siguiente pantalla: introduzca la descripción de la imagen aquí

Una vez que haga clic en "Suscribirse" en la parte inferior, se generará la clave Api:

introduzca la descripción de la imagen aquí

Ahora podemos comenzar a configurar el acceso a los Servicios cognitivos desde la aplicación iOS. En primer lugar, necesitamos obtener una imagen para el análisis. Para hacerlo, podemos usar Xamarin Media Component disponible a continuación: https://components.xamarin.com/view/mediaplugin

Una vez que se instale correctamente, vamos a crear una interfaz de usuario simple con la imagen y el botón para seleccionar la imagen de la galería. El tamaño de los controles depende de usted.

Abra Main.storyboard y agregue los controles UIImageView y UIButton que hacen el ViewController predeterminado. Agregue los nombres: "SelectedPictureImageView" y "SelectButton":

introduzca la descripción de la imagen aquí

Ahora debemos agregar el controlador de eventos "Touch Up Inside" para manejar la selección de imágenes:

partial void SelectButtonClick(UIButton sender)
{
    selectImage();
}

async void selectImage()
{
    var selectedImage = await CrossMedia.Current.PickPhotoAsync();
    SelectedPictureImageView.Image =  new UIImage(NSData.FromStream(selectedImage.GetStream()));
}

Ahora nos gustaría mostrar información de análisis una vez que Cognitive Services devuelva la información. Añadir etiqueta debajo del botón llamado "AnalysisLabel": introduzca la descripción de la imagen aquí

¡Es hora de conectar Computer Vision API!

Para obtener información sobre la imagen seleccionada, agregue el siguiente método. Recuerda pegar tu clave API!

async Task analyseImage(Stream imageStream)
{
    try
    {
        VisionServiceClient visionClient = new VisionServiceClient("<<YOUR API KEY HERE>>");
        VisualFeature[] features = { VisualFeature.Tags, VisualFeature.Categories, VisualFeature.Description };
        var analysisResult = await visionClient.AnalyzeImageAsync(imageStream, features.ToList(), null);
        AnalysisLabel.Text = string.Empty;
        analysisResult.Description.Tags.ToList().ForEach(tag => AnalysisLabel.Text = AnalysisLabel.Text + tag + "\n");
    }
    catch (Microsoft.ProjectOxford.Vision.ClientException ex)
    {
        AnalysisLabel.Text = ex.Error.Message;
    }
}

Ahora puedes invocarlo en el método "selectImage":

async void selectImage()
{
    var selectedImage = await CrossMedia.Current.PickPhotoAsync();
    SelectedPictureImageView.Image =  new UIImage(NSData.FromStream(selectedImage.GetStream()));
    await analyseImage(selectedImage.GetStream());
}

Una vez que seleccione la imagen, Microsoft Cognitive Services la analizará y devolverá el resultado:

introduzca la descripción de la imagen aquí

Recuerde que su imagen no puede ser demasiado grande, en este caso recibirá información como la siguiente:

introduzca la descripción de la imagen aquí

Hay muchos otros servicios que puedes intentar usar. Por favor, consulte la documentación oficial (enlace adjunto) para descubrir más.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow