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

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

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

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

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

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

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

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

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

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

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

Следующие шаги