Поделиться через


Вызов API анализа изображений 3.2

В этой статье показано, как вызвать API анализа изображений версии 3.2 для возврата сведений о визуальных функциях изображения. Здесь также рассказано, как анализировать возвращаемые сведения с помощью клиентских пакетов SDK или REST API.

В этом руководстве предполагается, что вы уже создали ресурс визуального зрения и получили ключ и URL-адрес конечной точки. Если вы используете клиентский пакет SDK, необходимо также пройти проверку подлинности клиентского объекта. Дополнительные сведения об этих шагах см. в кратком руководстве по анализу изображений.

Отправка данных на устройство

В коде этого руководства используются удаленные изображения, доступные по URL-адресам. Возможно, вам потребуется попробовать собственные образы, чтобы увидеть полную возможность функций анализа изображений.

При анализе удаленного изображения укажите в тексте запроса его URL-адрес в следующем формате: {"url":"http://example.com/images/test.jpg"}.

Чтобы проанализировать локальное изображение, поместите двоичные данные изображения в текст HTTP-запроса.

Определение способа обработки данных

Выбор визуальных компонентов

API Анализа изображений позволяет использовать все компоненты службы анализа изображений. Выберите, какие операции следует выполнять в зависимости от вашего сценария. Описание каждой функции см. в обзоре Azure AI Vision. Примеры в следующих разделах добавляют все доступные визуальные функции, но для практического использования, скорее всего, потребуется только один или два.

Вы можете указать нужные функции в параметрах URL-запроса к API анализа. Параметр может иметь несколько значений, разделенных запятыми. Для каждой указанной функции требуется больше времени вычисления, поэтому укажите только необходимые компоненты.

Параметр URL-адреса значение Описание
features Read считывает видимый текст на изображении и выводит его в виде структурированных данных JSON
features Description описание содержимого изображения с полным предложением на поддерживаемых языках
features SmartCrops находит координаты прямоугольника, которые обрезают изображение в требуемом пропорции при сохранении интересующей области
features Objects обнаруживает на изображении разные объекты и их приблизительное расположение. Аргумент Objects доступен только на английском языке
features Tags теги изображения с подробным списком слов, связанных с содержимым изображения

Заполненный URL-адрес будет выглядеть примерно так:

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

Определение языков

Вы также можете определить язык для возвращаемых данных.

Следующий параметр URL-запроса определяет язык. Значение по умолчанию — en.

Параметр URL-адреса значение Описание
language en Английский
language es Испанский
language ja Японский
language pt Португальский
language zh Упрощенный китайский

Заполненный URL-адрес будет выглядеть примерно так:

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

Получение результатов из службы

В этом разделе показано, как проанализировать результаты вызова API. Здесь также показан сам вызов API.

Примечание.

Вызовы API с ограничением области

Некоторые функции в анализе изображений можно вызывать напрямую или через вызов API анализа. Например, можно выполнить анализ только тегов изображений с заданной областью, выполнив запрос <endpoint>/vision/v3.2/tag (или соответствующий метод в пакете SDK). Дополнительные сведения о других компонентах, которые можно вызывать отдельно, см. в справочной документации.

Служба возвращает ответ HTTP 200, текст которого содержит запрошенные данные в формате строки JSON. Ниже приведен пример ответа в формате 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
            }
        ]
    }
}

Коды ошибок

Ниже приводится список возможных ошибок и их причин:

  • 400
    • InvalidImageUrl — URL-адрес изображения плохо отформатирован или недоступен
    • InvalidImageFormat — Входные данные не является допустимым изображением
    • InvalidImageSize — слишком большой входной образ
    • NotSupportedVisualFeature — Указанный тип компонента недействителен
    • NotSupportedImage — Неподдерживаемое изображение, например детская порнография
    • InvalidDetails — неподдерживаемое detail значение параметра
    • NotSupportedLanguage — запрошенная операция не поддерживается на указанном языке
    • BadArgument — Дополнительные сведения приведены в сообщении об ошибке
  • 415 — неподдерживаемый тип носителя. Тип контента не в разрешенных типах:
    • Для URL-адреса изображения Content-Type должен иметь значение application/json.
    • Для двоичных данных изображения Content-Type должен иметь значение application/octet-stream или multipart/form-data.
  • 500
    • FailedToProcess
    • Timeout — время ожидания обработки изображений
    • InternalServerError

Совет

При работе с Azure AI Vision могут возникнуть временные сбои, вызванные ограничениями скорости, применяемыми службой, или другими временными проблемами, такими как сбои сети. Сведения об обработке этих типов сбоев см. в руководстве по шаблонам разработки облака и связанному шаблону разбиения цепи.