Ricerca…


Osservazioni

In questo esempio abbiamo utilizzato il pacchetto Microsoft.ProjectOxford.Vision NuGet: https://www.nuget.org/packages/Microsoft.ProjectOxford.Vision/

Per ulteriori informazioni su Microsoft Cognitive Services, consultare la documentazione ufficiale: https://www.microsoft.com/cognitive-services/en-us/computer-vision-api

Si prega di trovare esempi caricati sul mio GitHub: https://github.com/Daniel-Krzyczkowski/XamarinIOS/tree/master/XamariniOS_CognitiveServices

Allego anche un link al mio blog in cui ho presentato come utilizzare Cognitive Services con l'applicazione Xamarin Forms: http://mobileprogrammer.pl

Connessione con Microsoft Cognitive Services

In questo esempio imparerai come utilizzare Microsoft Cognitive Services con l'applicazione mobile Xamarin iOS. Useremo l'API di Computer Vision per rilevare ciò che è nella foto.

Una volta creato il progetto Xamarin.iOS, aggiungi sotto il pacchetto NuGet al progetto:

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

Con questa libreria saremo in grado di utilizzare i servizi cognitivi nella nostra app iOS. Presumo che tu abbia già registrato un account Microsoft per utilizzarlo e hai abilitato Api Computer Vision come nella schermata qui sotto: inserisci la descrizione dell'immagine qui

Dopo aver fatto clic su "Iscriviti" nella parte inferiore, verrà generata la chiave Api:

inserisci la descrizione dell'immagine qui

Ora possiamo iniziare a configurare l'accesso a Cognitive Services dall'app iOS. In primo luogo, dobbiamo ottenere un'immagine per l'analisi. Per farlo possiamo usare Xamarin Media Component disponibile qui sotto: https://components.xamarin.com/view/mediaplugin

Una volta installato correttamente, creiamo un'interfaccia utente semplice con l'immagine e il pulsante per selezionare l'immagine dalla galleria. La dimensione dei controlli dipende da te.

Apri Main.storyboard e aggiungi i controlli UIImageView e UIButton come ViewController di default. Aggiungi loro nomi: "SelectedPictureImageView" e "SelectButton":

inserisci la descrizione dell'immagine qui

Ora dovremmo aggiungere il gestore di eventi "Touch Up Inside" per gestire la selezione delle immagini:

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

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

Ora vorremmo visualizzare le informazioni di analisi una volta che Cognitive Services restituisce le informazioni. Aggiungi etichetta sotto il pulsante chiamato "AnalysisLabel": inserisci la descrizione dell'immagine qui

È giunto il momento di collegare l'API di Computer Vision!

Per ottenere informazioni sulla foto selezionata aggiungi sotto il metodo. Ricordati di incollare la tua chiave 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;
    }
}

Ora puoi richiamarlo nel metodo "selectImage":

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

Una volta selezionata l'immagine, Microsoft Cognitive Services la analizzerà e restituirà il risultato:

inserisci la descrizione dell'immagine qui

Ricorda che l'immagine non può essere troppo grande - in questo caso riceverai le informazioni come di seguito:

inserisci la descrizione dell'immagine qui

Ci sono molti altri servizi che puoi provare a usare. Si prega di fare riferimento alla documentazione ufficiale (link allegato) per scoprire di più.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow