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


Вызов 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 могут возникнуть временные сбои, вызванные ограничениями скорости, применяемыми службой, или другими временными проблемами, такими как сбои сети. Для получения информации об обработке этих типов сбоев см. шаблон Повторной попытки в руководстве по облачным шаблонам проектирования и связанный паттерн Прерывания цепи.