Zoeken…


Opmerkingen

In dit voorbeeld hebben we Microsoft.ProjectOxford.Vision NuGet-pakket gebruikt: https://www.nuget.org/packages/Microsoft.ProjectOxford.Vision/

Raadpleeg de officiële documentatie voor meer informatie over Microsoft Cognitive Services: https://www.microsoft.com/cognitive-services/en-us/computer-vision-api

Vind een geüpload voorbeeld op mijn GitHub: https://github.com/Daniel-Krzyczkowski/XamarinIOS/tree/master/XamariniOS_CognitiveServices

Ik voeg ook een link toe aan mijn blog waar ik heb gepresenteerd hoe Cognitive Services te gebruiken met de Xamarin Forms-toepassing: http://mobileprogrammer.pl

Verbinding maken met Microsoft Cognitive Services

In dit voorbeeld leert u hoe u Microsoft Cognitive Services kunt gebruiken met de mobiele applicatie Xamarin iOS. We zullen Computer Vision API gebruiken om te detecteren wat er op de foto staat.

Nadat u het Xamarin.iOS-project hebt gemaakt, voegt u het onderstaande NuGet-pakket toe aan het project:

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

Met deze bibliotheek kunnen we Cognitive Services gebruiken in onze iOS-app. Ik ga ervan uit dat je al een Microsoft-account hebt om het te gebruiken en je hebt Computer Vision Api zoals op het onderstaande scherm ingeschakeld: voer hier de afbeeldingsbeschrijving in

Zodra u onderaan op "Abonneren" klikt, wordt Api Key gegenereerd:

voer hier de afbeeldingsbeschrijving in

Nu kunnen we beginnen met het configureren van toegang tot Cognitive Services vanuit de iOS-app. Ten eerste moeten we een beeld krijgen voor de analyse. Om dit te doen kunnen we de Xamarin Media Component gebruiken die hieronder beschikbaar is: https://components.xamarin.com/view/mediaplugin

Zodra het succesvol is geïnstalleerd, laten we een eenvoudige gebruikersinterface maken met de afbeelding en de knop om de afbeelding in de galerij te selecteren. De grootte van de bedieningselementen is aan jou.

Open Main.storyboard en voeg UIImageView en UIButton-besturingselementen toe als standaard ViewController. Voeg ze namen toe: "SelectedPictureImageView" en "SelectButton":

voer hier de afbeeldingsbeschrijving in

Nu moeten we "Touch Up Inside" -gebeurtenis toevoegen om afbeeldingsselectie af te handelen:

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

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

Nu willen we analyse-informatie weergeven zodra Cognitive Services de informatie retourneert. Voeg een label toe onder de knop "AnalysisLabel": voer hier de afbeeldingsbeschrijving in

Het is tijd om Computer Vision API te verbinden!

Om informatie over de geselecteerde foto te krijgen, voeg onderstaande methode toe. Vergeet niet je API-sleutel te plakken!

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

Nu kunt u het oproepen met de methode "selectImage":

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

Nadat u een afbeelding hebt geselecteerd, zal Microsoft Cognitive Services deze analyseren en het resultaat retourneren:

voer hier de afbeeldingsbeschrijving in

Vergeet niet dat uw afbeelding niet te groot kan zijn - in dit geval ontvangt u informatie zoals hieronder:

voer hier de afbeeldingsbeschrijving in

Er zijn veel andere services die u kunt proberen te gebruiken. Raadpleeg de officiële documentatie (bijgevoegde link) voor meer informatie.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow