Udostępnij za pośrednictwem


Wywoływanie interfejsu API analizy obrazów 3.2

W tym artykule pokazano, jak wywołać interfejs API analizy obrazów w wersji 3.2 w celu zwrócenia informacji o funkcjach wizualnych obrazu. Przedstawiono również sposób analizowania zwróconych informacji przy użyciu zestawów SDK klienta lub interfejsu API REST.

W tym przewodniku założono, że utworzono już zasób usługi Vision i uzyskano klucz oraz adres URL punktu końcowego. Jeśli używasz zestawu SDK klienta, musisz również uwierzytelnić obiekt klienta. Aby uzyskać więcej informacji na temat tych kroków, zobacz przewodnik Szybki start Analiza obrazów.

Przesyłanie danych do usługi

Kod w tym przewodniku używa zdalnych obrazów, do których odwołuje się adres URL. Możesz chcieć samodzielnie wypróbować różne obrazy, aby zobaczyć pełną możliwość funkcji analizy obrazów.

Podczas analizowania obrazu zdalnego należy określić adres URL obrazu, formatując treść żądania w następujący sposób: {"url":"http://example.com/images/test.jpg"}.

Aby przeanalizować obraz lokalny, umieść dane obrazu binarnego w treści żądania HTTP.

Określanie sposobu przetwarzania danych

Wybieranie funkcji wizualnych

Interfejs API analizowania zapewnia dostęp do wszystkich funkcji analizy obrazów usługi. Wybierz operacje do wykonania na podstawie własnego przypadku użycia. Aby zapoznać się z opisem każdej funkcji, zobacz Omówienie usługi Azure AI Vision. Przykłady w poniższych sekcjach zawierają wszystkie dostępne funkcje wizualne, ale w przypadku praktycznego użycia prawdopodobnie potrzebujesz tylko jednego lub dwóch.

Możesz określić, które funkcje mają być używane, ustawiając parametry zapytania adresu URL interfejsu API analizowania. Parametr może mieć wiele wartości rozdzielonych przecinkami. Każda określona funkcja wymaga więcej czasu obliczeniowego, dlatego określ tylko potrzebne elementy.

Parametr adresu URL Wartość Opis
features Read odczytuje widoczny tekst na obrazie i wyświetla go jako dane JSON ze strukturą
features Description opisuje zawartość obrazu z pełnym zdaniem w obsługiwanych językach
features SmartCrops znajduje współrzędne prostokąta, które przycinają obraz do żądanego współczynnika proporcji, zachowując jednocześnie obszar zainteresowania
features Objects wykrywa różne obiekty na obrazie, w tym przybliżoną lokalizację. Objects Argument jest dostępny tylko w języku angielskim
features Tags taguje obraz ze szczegółową listą słów związanych z zawartością obrazu

Wypełniony adres URL może wyglądać następująco:

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

Określanie języków

Można również określić język zwracanych danych.

Następujący parametr zapytania adresu URL określa język. Domyślna wartość to en.

Parametr adresu URL Wartość Opis
language en angielski
language es Hiszpański
language ja japoński
language pt Portugalski
language zh Chiński (uproszczony)

Wypełniony adres URL może wyglądać następująco:

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

Pobieranie wyników z usługi

W tej sekcji przedstawiono sposób analizowania wyników wywołania interfejsu API. Zawiera on samo wywołanie interfejsu API.

Uwaga

Wywołania interfejsu API w zakresie

Niektóre funkcje analizy obrazów można wywołać bezpośrednio lub za pomocą wywołania interfejsu API analizowania. Na przykład można przeprowadzić analizę w zakresie tylko tagów obrazów, wysyłając żądanie do <endpoint>/vision/v3.2/tag (lub odpowiednią metodę w zestawie SDK). Zapoznaj się z dokumentacją referencyjną dotyczącą innych funkcji, które mogą być wywoływane oddzielnie.

Usługa zwraca 200 odpowiedź HTTP, a treść zawiera zwracane dane w postaci ciągu JSON. Poniższy tekst jest przykładem odpowiedzi JSON.

{
    "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
            }
        ]
    }
}

Kody błędów

Zapoznaj się z następującą listą możliwych błędów i ich przyczynami:

  • 400
    • InvalidImageUrl — Adres URL obrazu jest nieprawidłowo sformatowany lub niedostępny
    • InvalidImageFormat — Dane wejściowe nie są prawidłowym obrazem
    • InvalidImageSize — Obraz wejściowy jest za duży
    • NotSupportedVisualFeature — Określony typ funkcji jest nieprawidłowy
    • NotSupportedImage - Nieobsługiwany obraz, na przykład pornografia dziecięca
    • InvalidDetails- Nieobsługiwana wartość parametru detail
    • NotSupportedLanguage — Żądana operacja nie jest obsługiwana w określonym języku
    • BadArgument — Więcej szczegółów znajduje się w komunikacie o błędzie
  • 415 — Błąd nieobsługiwanego typu nośnika. Typ zawartości nie znajduje się w dozwolonych typach:
    • W przypadku adresu URL obrazu typ zawartości powinien mieć wartość application/json
    • W przypadku danych obrazu binarnego typ zawartości powinien mieć wartość application/octet-stream lub multipart/form-data
  • 500
    • FailedToProcess
    • Timeout - Upłynął limit czasu przetwarzania obrazów
    • InternalServerError

Napiwek

Podczas pracy z usługą Azure AI Vision mogą wystąpić przejściowe błędy spowodowane przez limity szybkości wymuszane przez usługę lub inne przejściowe problemy, takie jak awarie sieci. Aby uzyskać informacje na temat obsługi tych typów błędów, zobacz przewodnik Ponawianie prób w przewodniku Wzorce projektowania chmury i powiązany wzorzec wyłącznika.

  • Eksplorowanie koncepcji wykrywania obiektów
  • Zobacz dokumentację interfejsu API