Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
Versão: 2.0.2
Descubra o conteúdo e o texto nas imagens usando modelos de machine learning.
Este conteúdo fornece uma referência para configurar e usar essa extensão. Antes de usar essa extensão em um proxy de API, você precisa:
Ative a API Cloud Vision para sua conta de serviço.
Se você usar o Cloud Storage como origem das imagens, também precisará conceder acesso a essa extensão ao Cloud Storage, conforme descrito na referência da extensão do Google Cloud Storage.
Quando você tiver uma conta de serviço com permissão para o Cloud Vision (e o Cloud Storage, se estiver usando), use o console do Google Cloud para gerar uma chave para a conta de serviço.
Use o conteúdo do arquivo JSON da chave resultante ao adicionar e configurar a extensão usando a referência de configuração.
Sobre a Cloud Vision
A API Cloud Vision do Google Cloud usa modelos de machine learning para analisar imagens. É possível treinar um modelo para a API usar ou usar o modelo integrado.
Usando o modelo integrado, o Cloud Vision classifica imagens em categorias como "arranha-céu", "veleiro", "leão" ou "Torre Eiffel". Ela detecta objetos, rostos, logotipos e pontos de referência em imagens e localiza palavras contidas nelas.
Amostras
Os exemplos a seguir ilustram como configurar o suporte para ações de extensão da Cloud Vision usando a política ExtensionCallout.
Detectar rótulos
No exemplo a seguir, a ação detectLabels da extensão recebe a imagem em image_uri e a transmite para a API Cloud Vision para análise. A API vai examinar a imagem e determinar quais rótulos se aplicam ao conteúdo dela.
<?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>
A seguinte política Atribuir mensagem usa o valor da variável que armazena a resposta da extensão para atribuir o payload da resposta.
<?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>
Se você enviar uma imagem de uma área urbana com um prédio muito alto, poderá receber uma resposta como esta:
{
"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
}
]
}
Detectar texto
No exemplo a seguir, a ação detectText das extensões recebe a imagem em image_uri e a transmite para a API Cloud Vision para análise. A API vai examinar a imagem e identificar o texto nela.
<?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>
A seguinte política Atribuir mensagem usa o valor da variável que armazena a resposta da extensão para atribuir o payload da resposta.
<?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>
Com uma imagem que contém placas em um estacionamento, você pode receber uma resposta como esta:
{
"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
}
]
}
}
]
}
Ações
detectLabels
Detecta e extrai informações sobre entidades na imagem especificada. As entidades detectadas abrangem um amplo grupo de categorias. Por exemplo, use essa ação para identificar objetos, locais, atividades, espécies de animais, produtos e muito mais.
Consulte também a documentação da API Cloud Vision.
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| image_uri | Origem da imagem. Pode ser da Internet ou do Google Cloud Storage (formato: gs://bucketname/filename). Se a origem for o Google Cloud Storage, o arquivo de imagem precisará ser público. |
String | Nenhum. | Sim. |
Sintaxe
<Input><![CDATA[{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
Exemplo
No exemplo a seguir, a ação detectLabels da extensão envia a imagem especificada para a API Vision para análise.
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>
Resposta
Um objeto que contém uma matriz labels de rótulos que representam entidades detectadas na imagem. Para mais informações, consulte Detectar rótulos.
detectText
Detecta e extrai texto da imagem especificada.
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| image_uri | Origem da imagem. Pode ser da Internet ou do Google Cloud Storage (formato: gs://bucketname/filename). Se a origem for o Google Cloud Storage, o arquivo de imagem precisará ser público. |
String | Nenhum. | Sim. |
Sintaxe
<Input><![CDATA[
{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
Exemplo
No exemplo a seguir, a ação detectText da extensão envia a imagem especificada para a API Vision para análise.
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>
Resposta
Um objeto que contém uma matriz text do texto detectado. Para mais informações, consulte Detectar rótulos.
Referência de configuração
Use o seguinte ao configurar e implantar essa extensão para uso em proxies de API. Para saber como configurar uma extensão usando o console do Apigee, consulte Adicionar e configurar uma extensão.
Propriedades comuns de extensão
As propriedades a seguir estão presentes para cada extensão.
| Propriedade | Descrição | Padrão | Obrigatório |
|---|---|---|---|
name |
Nome que será dado a esta configuração da extensão. | Nenhum | Sim |
packageName |
Nome do pacote de extensão fornecido pelo Apigee Edge. | Nenhum | Sim |
version |
Número da versão do pacote de extensão a partir do qual você está configurando uma extensão. | Nenhum | Sim |
configuration |
Valor de configuração específico da extensão que você está adicionando. Consulte Propriedades para este pacote de extensão. | Nenhum | Sim |