Dela via


Anropa API:et för bildanalys 3.2

Den här artikeln visar hur du anropar API:et för bildanalys version 3.2 för att returnera information om en bilds visuella funktioner. Den visar också hur du parsar den returnerade informationen med hjälp av klient-SDK:erna eller REST-API:et.

Den här guiden förutsätter att du redan har skapat en Vision-resurs och fått en nyckel och en slutpunkts-URL. Om du använder en klient-SDK måste du också autentisera ett klientobjekt. Mer information om de här stegen finns i snabbstarten bildanalys.

Skicka data till tjänsten

Koden i den här guiden använder fjärrbilder som refereras till via URL. Du kanske vill prova olika bilder på egen hand för att se den fullständiga funktionen för bildanalysfunktionerna.

När du analyserar en fjärrbild anger du bildens URL genom att formatera begärandetexten så här: {"url":"http://example.com/images/test.jpg"}.

Om du vill analysera en lokal bild placerar du binära bilddata i HTTP-begärandetexten.

Fastställa hur data ska bearbetas

Välj visuella funktioner

Med Analys-API:et får du åtkomst till alla tjänstens bildanalysfunktioner. Välj vilka åtgärder som ska utföras baserat på ditt eget användningsfall. En beskrivning av varje funktion finns i Översikt över Azure AI Vision. Exemplen i följande avsnitt lägger till alla tillgängliga visuella funktioner, men för praktisk användning behöver du förmodligen bara en eller två.

Du kan ange vilka funktioner du vill använda genom att ange URL-frågeparametrarna för Analys-API:et. En parameter kan ha flera värden, avgränsade med kommatecken. Varje funktion som du anger kräver mer beräkningstid, så ange bara det du behöver.

URL-parameter Värde beskrivning
features Read läser den synliga texten i bilden och matar ut den som strukturerade JSON-data
features Description beskriver bildinnehållet med en fullständig mening på språk som stöds
features SmartCrops hittar de rektangelkoordinater som skulle beskära bilden till ett önskat proportioner samtidigt som det intressanta området bevaras
features Objects identifierar olika objekt i en bild, inklusive den ungefärliga platsen. Argumentet Objects är endast tillgängligt på engelska
features Tags taggar bilden med en detaljerad lista med ord relaterade till bildinnehållet

En ifylld URL kan se ut så här:

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags

Ange språk

Du kan också ange språket för de returnerade data.

Följande URL-frågeparameter anger språket. Standardvärdet är en.

URL-parameter Värde beskrivning
language en Engelska
language es Spanska
language ja Japanska
language pt Portugisiska
language zh Förenklad kinesiska

En ifylld URL kan se ut så här:

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags&language=en

Hämta resultat från tjänsten

Det här avsnittet visar hur du parsar resultatet av API-anropet. Den innehåller själva API-anropet.

Kommentar

Begränsade API-anrop

Vissa av funktionerna i Bildanalys kan anropas antingen direkt eller via anropet Analysera API. Du kan till exempel göra en begränsad analys av endast bildtaggar genom att göra en begäran till <endpoint>/vision/v3.2/tag (eller till motsvarande metod i SDK). Se referensdokumentationen för andra funktioner som kan anropas separat.

Tjänsten returnerar ett 200 HTTP-svar och brödtexten innehåller returnerade data i form av en JSON-sträng. Följande text är ett exempel på ett JSON-svar.

{
    "metadata":
    {
        "width": 300,
        "height": 200
    },
    "tagsResult":
    {
        "values":
        [
            {
                "name": "grass",
                "confidence": 0.9960499405860901
            },
            {
                "name": "outdoor",
                "confidence": 0.9956876635551453
            },
            {
                "name": "building",
                "confidence": 0.9893627166748047
            },
            {
                "name": "property",
                "confidence": 0.9853052496910095
            },
            {
                "name": "plant",
                "confidence": 0.9791355729103088
            }
        ]
    }
}

Felkoder

Se följande lista över möjliga fel och deras orsaker:

  • 400
    • InvalidImageUrl – Bild-URL:en är dåligt formaterad eller inte tillgänglig
    • InvalidImageFormat – Indata är inte en giltig bild
    • InvalidImageSize – Indatabilden är för stor
    • NotSupportedVisualFeature – Den angivna funktionstypen är inte giltig
    • NotSupportedImage - Bild som inte stöds, till exempel barnpornografi
    • InvalidDetails – Parametervärde som detail inte stöds
    • NotSupportedLanguage – Den begärda åtgärden stöds inte på det angivna språket
    • BadArgument – Mer information finns i felmeddelandet
  • 415 – Fel av medietyp som inte stöds. Innehållstypen finns inte i de tillåtna typerna:
    • För en bild-URL ska innehållstyp vara application/json
    • För binära bilddata ska Innehållstyp vara application/octet-stream eller multipart/form-data
  • 500
    • FailedToProcess
    • Timeout – Tidsgränsen för bildbearbetningen har överskrids
    • InternalServerError

Dricks

När du arbetar med Azure AI Vision kan du stöta på tillfälliga fel som orsakas av hastighetsbegränsningar som framtvingas av tjänsten eller andra tillfälliga problem som nätverksfel. Information om hur du hanterar dessa typer av fel finns i mönstret Försök igen i guiden Mönster för molndesign och det relaterade kretsbrytarmönstret.