Suche…


Bemerkungen

In diesem Beispiel haben wir das NuGet-Paket Microsoft.ProjectOxford.Vision verwendet: https://www.nuget.org/packages/Microsoft.ProjectOxford.Vision/

Weitere Informationen zu Microsoft Cognitive Services finden Sie in der offiziellen Dokumentation: https://www.microsoft.com/cognitive-services/en-us/computer-vision-api

Das hochgeladene Sample finden Sie auf meinem GitHub: https://github.com/Daniel-Krzyczkowski/XamarinIOS/tree/master/XamariniOS_CognitiveServices

Ich füge auch einen Link zu meinem Blog hinzu, auf dem ich die Verwendung von Cognitive Services mit der Anwendung Xamarin Forms vorgestellt habe: http://mobileprogrammer.pl

Verbindung mit Microsoft Cognitive Services

In diesem Beispiel erfahren Sie, wie Sie Microsoft Cognitive Services mit der mobilen Xamarin iOS-Anwendung verwenden. Wir werden die Computer Vision-API verwenden, um zu erkennen, was auf dem Bild zu sehen ist.

Nachdem Sie ein Xamarin.iOS-Projekt erstellt haben, fügen Sie das NuGet-Paket zum Projekt hinzu:

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

Mit dieser Bibliothek können wir Cognitive Services in unserer iOS-App nutzen. Ich gehe davon aus, dass Sie bereits ein Microsoft-Konto für die Verwendung registriert haben und Computer Vision Api wie auf dem Bildschirm unten aktiviert haben: Geben Sie hier die Bildbeschreibung ein

Wenn Sie unten auf "Abonnieren" klicken, wird der Api-Schlüssel generiert:

Geben Sie hier die Bildbeschreibung ein

Jetzt können wir den Zugriff auf Cognitive Services über die iOS-App konfigurieren. Zunächst müssen wir uns ein Bild für die Analyse machen. Dazu können wir die Xamarin Media Component verwenden, die unter folgender Adresse verfügbar ist: https://components.xamarin.com/view/mediaplugin

Nach der erfolgreichen Installation erstellen wir eine einfache Benutzeroberfläche mit dem Bild und der Schaltfläche, um ein Bild aus der Galerie auszuwählen. Die Größe der Steuerelemente liegt bei Ihnen.

Öffnen Sie Main.storyboard und fügen Sie UIImageView hinzu, und UIButton-Steuerelemente führen den standardmäßigen ViewController aus. Fügen Sie ihnen Namen hinzu: "SelectedPictureImageView" und "SelectButton":

Geben Sie hier die Bildbeschreibung ein

Jetzt sollten wir den Event-Handler "Touch Up Inside" hinzufügen, um die Bildauswahl durchzuführen:

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

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

Jetzt möchten wir die Analyseinformationen anzeigen, sobald Cognitive Services die Informationen zurückgibt. Fügen Sie unter dem Button "AnalysisLabel" ein Label hinzu: Geben Sie hier die Bildbeschreibung ein

Es ist Zeit, die Computer Vision-API anzuschließen!

Um Informationen über das ausgewählte Bild zu erhalten, fügen Sie die Methode unten hinzu. Denken Sie daran, Ihren API-Schlüssel einzufügen!

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;
    }
}

Jetzt können Sie es in der "selectImage" -Methode aufrufen:

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

Sobald Sie ein Bild ausgewählt haben, wird es von Microsoft Cognitive Services analysiert und das Ergebnis zurückgegeben:

Geben Sie hier die Bildbeschreibung ein

Denken Sie daran, dass Ihr Bild nicht zu groß sein kann. In diesem Fall erhalten Sie folgende Informationen:

Geben Sie hier die Bildbeschreibung ein

Es gibt viele andere Dienste, die Sie verwenden können. Weitere Informationen finden Sie in der offiziellen Dokumentation (Link im Anhang).



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow