Compartir vía


Llamada a la API Image Analysis 3.2

En este artículo se muestra cómo llamar a la API Image Analysis versión 3.2 para devolver información sobre las características visuales de una imagen. También muestra cómo analizar la información devuelta mediante los SDK del cliente o la API de REST.

En esta guía se da por supuesto que ya ha creado un recurso de Vision y ha obtenido una clave y una dirección URL de punto de conexión. Si usa un SDK de cliente, también debe autenticar un objeto de cliente. Para obtener más información sobre estos pasos, consulte el Inicio rápido de Análisis de imágenes.

Envío de datos al servicio

El código de esta guía usa imágenes remotas referenciadas por URL. Es posible que quiera probar imágenes diferentes por su cuenta para ver la funcionalidad completa de las características de Análisis de imágenes.

Al analizar una imagen remota, se especifica la URL de la imagen formateando el cuerpo de la petición de la siguiente manera: {"url":"http://example.com/images/test.jpg"}.

Para analizar una imagen local, coloque los datos de la imagen binaria en el cuerpo de la solicitud HTTP.

Determinación de cómo se procesan los datos

Selección de características visuales

Analyze API proporciona acceso a todas las características de análisis de imágenes del servicio. Elija qué operaciones realizar en función de su propio caso de uso. Para obtener una descripción de cada característica, consulte la información general de Azure AI Vision. En los ejemplos de las secciones siguientes se agregan todas las características visuales disponibles, pero para un uso práctico, es probable que solo necesite una o dos.

Puede especificar qué funciones quiere usar mediante la configuración de los parámetros de consulta de la URL de la API de análisis. Un parámetro puede tener varios valores, que se separan por comas. Cada característica que especifique requiere más tiempo de cálculo, por lo que solo debe especificar lo que necesita.

Parámetro URL Value Descripción
features Read lee el texto visible en la imagen y lo genera como datos JSON estructurados
features Description describe el contenido de la imagen con una frase completa en los idiomas admitidos.
features SmartCrops busca las coordenadas del rectángulo que recortarían la imagen a una relación de aspecto deseada al tiempo que conservaba el área de interés
features Objects Detecta varios objetos en una imagen, incluida la ubicación aproximada. El argumento Objects solo está disponible en inglés
features Tags etiqueta la imagen con una lista detallada de palabras relacionadas con el contenido de la imagen

Una URL rellenada tiene el siguiente aspecto:

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

Especificación de idiomas

También puede especificar el idioma de los datos devueltos.

El siguiente parámetro de consulta de la dirección URL especifica el idioma. El valor predeterminado es en.

Parámetro URL Value Descripción
language en Inglés
language es Español
language ja Japonés
language pt Portugués
language zh Chino simplificado

Una URL rellenada tiene el siguiente aspecto:

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

Obtención de resultados a partir del servicio

Esta sección muestra cómo analizar los resultados de la llamada a la API. Se incluye la propia llamada a la API.

Nota

Llamadas API con ámbito

Algunas de las características de Análisis de imágenes se pueden llamar directamente o a través de la llamada API de Análisis. Por ejemplo, puede hacer un análisis de alcance de solo las etiquetas de imagen al hacer una solicitud a <endpoint>/vision/v3.2/tag (o al método correspondiente en el SDK). Consulte la documentación de referencia para ver otras características a las que se puede llamar por separado.

El servicio devuelve una respuesta HTTP 200y el cuerpo contiene los datos devueltos en forma de cadena JSON. El texto siguiente es un ejemplo de una respuesta 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
            }
        ]
    }
}

Códigos de error

Consulte la siguiente lista de posibles errores y sus causas:

  • 400
    • InvalidImageUrl: La dirección URL de la imagen tiene un formato incorrecto o no es accesible
    • InvalidImageFormat: Los datos de entrada no son una imagen válida
    • InvalidImageSize: La imagen de entrada es demasiado grande
    • NotSupportedVisualFeature: El tipo de característica especificado no es válido
    • NotSupportedImage: La imagen no admitida, por ejemplo, pornografía infantil
    • InvalidDetails: Valor de parámetro detail no admitido
    • NotSupportedLanguage: La operación solicitada no se admite en el idioma especificado
    • BadArgument: Se proporcionan más detalles en el mensaje de error
  • 415: error de tipo de medio no compatible. El Content-Type no está en los tipos permitidos:
    • Para una dirección URL de imagen, Content-Type debe ser application/json
    • En el caso de los datos de imagen binarios, Content-Type debe ser application/octet-stream o multipart/form-data
  • 500
    • FailedToProcess
    • Timeout: Se agota el tiempo de espera del procesamiento de imágenes
    • InternalServerError

Sugerencia

Al trabajar con Visión de Azure AI, puede encontrar errores transitorios producidos por límites de frecuencia aplicados por el servicio u otros problemas transitorios, como interrupciones de red. Para obtener información sobre cómo controlar estos tipos de errores, consulte el Patrón de reintento en la guía Patrones de diseño en la nube y el patrón Circuit Breaker relacionado.