Você está visualizando a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
Versão: 2.0.0
Descubra o conteúdo e o texto em imagens usando modelos de aprendizado de máquina.
Este conteúdo oferece 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ê for usar o Cloud Storage como a origem das imagens, também vai precisar conceder acesso ao Cloud Storage para essa extensão, conforme descrito na referência da extensão do Google Cloud Storage.
Quando você tem uma conta de serviço com permissão para o Cloud Vision (e o Cloud Storage, se você estiver usando), use o Console do GCP para gerar uma chave para a conta de serviço.
Use o conteúdo do arquivo JSON de chave resultante ao adicionar e configurar a extensão usando a referência de configuração.
Sobre o Cloud Vision
A API Google Cloud Vision 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, a Cloud Vision classifica as imagens em categorias como "arranha-céu", "barco a vela", "leão" ou "Torre Eiffel". Ela detecta objetos, rostos, logotipos e pontos de referência nas imagens e localiza palavras nelas.
Amostras
Os exemplos a seguir ilustram como configurar o suporte a ações de extensão do Cloud Vision usando a política ExtensionCallout.
Detectar rótulos
No exemplo a seguir, a ação detectLabels
da extensão recebe a imagem no 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 política Atribuir mensagem a seguir usa o valor da variável que armazena a resposta da extensão para atribuir o payload de 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ê receber uma imagem de uma área urbana com um edifício 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 no 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 política Atribuir mensagem a seguir usa o valor da variável que armazena a resposta da extensão para atribuir o payload de 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>
Se você enviar uma imagem com placas em um registro de estacionamento, poderá 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 variam em um amplo grupo de categorias. Por exemplo, use essa ação para identificar objetos, locais, atividades, espécies de animais, produtos e muito mais.
Confira 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 precisa ser público. |
String | Nenhum. | Sim. |
Sintaxe
<Input><![CDATA[{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
Exemplo
No exemplo abaixo, 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 precisa ser público. |
String | Nenhum. | Sim. |
Sintaxe
<Input><![CDATA[
{
"image_uri" : "uri-of-image-to-analyze"
}
]]></Input>
Exemplo
No exemplo abaixo, 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 as informações a seguir ao configurar e implantar essa extensão para uso em proxies de API. Para saber como configurar uma extensão usando o console da Apigee, consulte Adicionar e configurar uma extensão.
Propriedades de extensão comuns
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 |