Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
Versión: 2.0.0
Descubre el contenido y el texto en las imágenes con modelos de aprendizaje automático.
En este contenido, se proporciona una referencia para configurar y usar esta extensión. Antes de usar esta extensión desde un proxy de API, debes hacer lo siguiente:
Habilita la API de Cloud Vision para tu cuenta de servicio.
Si usarás Cloud Storage como fuente de tus imágenes, también deberás otorgarle acceso a esta extensión a Cloud Storage, como se describe en la Referencia de la extensión de Google Cloud Storage.
Cuando tengas una cuenta de servicio que tenga permiso para Cloud Vision (y Cloud Storage, si la usas), usa GCP Console para generar una clave para la cuenta de servicio.
Usa el contenido del archivo JSON de clave resultante cuando agregues y configures la extensión con la referencia de configuración.
Acerca de Cloud Vision
La API de Google Cloud Vision usa modelos de aprendizaje automático para analizar imágenes. Puedes entrenar un modelo para que lo use la API o usar el modelo integrado.
Con el modelo integrado, Cloud Vision clasifica las imágenes en categorías como “rascacielos”, “velero”, “león” o “Torre Eiffel”. Detecta objetos, rostros, logotipos y puntos de referencia dentro de las imágenes, y localiza las palabras que se incluyen en ellas.
Ejemplos
En los siguientes ejemplos, se muestra cómo configurar la compatibilidad con las acciones de extensión de Cloud Vision mediante la política ExtensionCallout.
Detectar etiquetas
En el siguiente ejemplo, la acción detectLabels
de la extensión obtiene la imagen en image_uri
y la pasa a la API de Cloud Vision para su análisis. La API examinará la imagen y determinará qué etiquetas se aplican al contenido de la imagen.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Extension">
<DisplayName>Cloud Vision Extension</DisplayName>
<Connector>cloud-vision-extension-example</Connector>
<Action>detectLabels</Action>
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>
<Output>vision.labels.retrieved</Output>
</ConnectorCallout>
La siguiente política Assign Message usa el valor de la variable que almacena la respuesta de la extensión para asignar la carga útil de la respuesta.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Labels">
<DisplayName>Get Image Labels</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{vision.labels.retrieved}</Payload>
</Set>
</AssignMessage>
Si se muestra una imagen de un área urbana con un edificio muy alto, es posible que recibas una respuesta como la siguiente:
{
"labels": [
{
"locations": [
],
"properties": [
],
"mid": "/m/0j_s4",
"locale": "",
"description": "metropolitan area",
"score": 0.9868549704551697,
"confidence": 0,
"topicality": 0.9868549704551697,
"boundingPoly": null
},
{
"locations": [
],
"properties": [
],
"mid": "/m/079cl",
"locale": "",
"description": "skyscraper",
"score": 0.966157853603363,
"confidence": 0,
"topicality": 0.966157853603363,
"boundingPoly": null
}
]
}
Cómo detectar texto
En el siguiente ejemplo, la acción detectText
de las extensiones obtiene la imagen en image_uri
y la pasa a la API de Cloud Vision para su análisis. La API examinará la imagen y, luego, identificará el texto que aparece en ella.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Text">
<DisplayName>Cloud Vision Text</DisplayName>
<Connector>cloud-vision-extension-example</Connector>
<Action>detectText</Action>
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>
<Output>vision.text.retrieved</Output>
</ConnectorCallout>
La siguiente política Assign Message usa el valor de la variable que almacena la respuesta de la extensión para asignar la carga útil de la respuesta.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Text">
<DisplayName>Get Image Text</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{vision.text.retrieved}</Payload>
</Set>
</AssignMessage>
Si se te muestra una imagen que contiene letreros en un registro de estacionamiento, es posible que recibas una respuesta como la siguiente:
{
"text": [
{
"locations": [
],
"properties": [
],
"mid": "",
"locale": "en",
"description": "RESERVED\nVISITORPARKING\nPARKING\nONLY>\n$150 FINE\n",
"score": 0,
"confidence": 0,
"topicality": 0,
"boundingPoly": {
"vertices": [
{
"x": 64,
"y": 56
},
{
"x": 378,
"y": 56
},
{
"x": 378,
"y": 218
},
{
"x": 64,
"y": 218
}
]
}
},
{
"locations": [
],
"properties": [
],
"mid": "",
"locale": "",
"description": "RESERVED",
"score": 0,
"confidence": 0,
"topicality": 0,
"boundingPoly": {
"vertices": [
{
"x": 243,
"y": 56
},
{
"x": 378,
"y": 56
},
{
"x": 378,
"y": 84
},
{
"x": 243,
"y": 84
}
]
}
}
]
}
Acciones
detectLabels
Detecta y extrae información sobre las entidades dentro de la imagen especificada. Las entidades detectadas abarcan un amplio grupo de categorías. Por ejemplo, usa esta acción para identificar objetos, ubicaciones, actividades, especies de animales, productos y mucho más.
Además, asegúrate de consultar la documentación de la API de Cloud Vision.
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminado | Obligatorio |
---|---|---|---|---|
image_uri | Es la fuente de la imagen. Puede ser de Internet o Google Cloud Storage (formato: gs://bucketname/filename ). Si la fuente es Google Cloud Storage, el archivo de imagen debe ser público. |
String | Ninguno | Sí. |
Sintaxis
<Input><![CDATA[{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
Ejemplo
En el siguiente ejemplo, la acción detectLabels
de la extensión envía la imagen especificada a la API de Vision para su análisis.
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>
Respuesta
Un objeto que contiene un array labels
de etiquetas que representan entidades detectadas en la imagen. Para obtener más información, consulta Cómo detectar etiquetas.
detectText
Detecta y extrae texto de la imagen especificada.
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminado | Obligatorio |
---|---|---|---|---|
image_uri | Es la fuente de la imagen. Puede ser de Internet o Google Cloud Storage (formato: gs://bucketname/filename ). Si la fuente es Google Cloud Storage, el archivo de imagen debe ser público. |
String | Ninguno | Sí. |
Sintaxis
<Input><![CDATA[
{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
Ejemplo
En el siguiente ejemplo, la acción detectText
de la extensión envía la imagen especificada a la API de Vision para su análisis.
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>
Respuesta
Es un objeto que contiene un array text
del texto detectado. Para obtener más información, consulta Cómo detectar etiquetas.
Referencia de configuración
Usa lo siguiente cuando configures y, luego, implementes esta extensión para usarla en proxies de API. Si deseas conocer los pasos para configurar una extensión con la consola de Apigee, consulta Cómo agregar y configurar una extensión.
Propiedades comunes de la extensión
Las siguientes propiedades están presentes para cada extensión.
Propiedad | Descripción | Predeterminado | Obligatorio |
---|---|---|---|
name |
Nombre que asignas a esta configuración de la extensión. | Ninguna | Sí |
packageName |
Nombre del paquete de extensiones proporcionado por Apigee Edge. | Ninguna | Sí |
version |
El número de versión del paquete de extensiones desde el que quieres configurar la extensión. | Ninguna | Sí |
configuration |
Es un valor de configuración específico para la extensión que agregas. Consulta Propiedades para este paquete de extensiones | Ninguna | Sí |