Wywoływanie interfejsu API analizy obrazów 3.2

W tym artykule pokazano, jak wywołać interfejs API analizy obrazu 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 i adres URL punktu końcowego. Jeśli używasz zestawu SDK klienta, musisz również uwierzytelnić obiekt klienta. Jeśli te kroki nie zostały wykonane, wykonaj przewodnik Szybki start , aby rozpocząć pracę.

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, należy umieścić 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. Zapoznaj się z omówieniem , aby zapoznać się z opisem każdej funkcji. Przykłady w poniższych sekcjach dodają wszystkie dostępne funkcje wizualne, ale w przypadku praktycznego użycia prawdopodobnie będziesz potrzebować tylko jednej 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 będzie wymagać więcej czasu obliczeń, 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ę. Argument Objects 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ływać bezpośrednio, a także 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 detail wartość parametru.
    • 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 takich błędów, zobacz temat Wzorzec ponawiania w przewodniku po wzorcach projektowych opartych na chmurze i powiązany temat Wzorzec wyłącznika.

Następne kroki

  • Zapoznaj się z artykułami dotyczącymi pojęć, aby dowiedzieć się więcej o każdej funkcji.
  • Zobacz dokumentację interfejsu API, aby dowiedzieć się więcej na temat funkcji interfejsu API.