Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
Versão: 1.4.1
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 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 Cloud Vision do Google 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 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&quo>t<; standalone="yes"?
ConnectorCallout async="false" continueOnError="true&>quot;< enabled=&q>uot;true" name=&q<uot;Cloud-Vi>sion-<Extension>"
DisplayNameCloud Vi<sion Exten>sion/<Displa>yName
Co<nnector>cloud<-visi><on-extension-example/Connector
ActiondetectLabels/Action
Input![CDATA[
{
"imag><e_uri&>quot;< : &qu>ot;gs://cloud-vision-ex<ample/e>m<pire-state-buildi>ng.jpg"
}
]]/Input
Outputvision.labels.retrieved/Output
/ConnectorCallout
A seguinte política Assign Message 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&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=">false<" enab>led="true&q<uot; name=&q>uot;G<et-Image-Labels"
DisplayNameGet Im>age L<abe>ls/Displa<yName
AssignTo type="response>" createNew="fa<lse">;/
< >span>Set<
Paylo>ad contentType="application/json"{vision.labels.retrieved}/Payload
/Set
/AssignMessage
Ao receber uma imagem de uma área urbana com um prédio muito alto, você pode 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&quo>t<; standalone="yes"?
ConnectorCallout async="false" continueOnError=">true&<quot; enabl>ed="true&quo<t; name=&quo>t;Clo<ud-Vision>-Text"
DisplayNameClo<ud Vision >Text/<Displa>yName
<Connect>orclo<ud-vi><sion-extension-example/Connector
ActiondetectText/Action
Input![CDATA[
{
&qu><ot;ima>ge_ur<i">; : "gs://cloud-<vision->e<xample/parking-si>gns1.jpg"
}
]]/Input
Outputvision.text.retrieved/Output
/ConnectorCallout
A seguinte política Assign Message 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&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=&quo>t;fal<se" en>abled="tr<ue" nam>e=&qu<ot;Get-Image-Text"
DisplayNameGet >Image< Te>xt/Displa<yName
AssignTo type="response>" createNew="<false&qu>ot;/
< >S<et
Pay>load contentType="application/json"{vision.text.retrieved}/Payload
/Set
/AssignMessage
Com uma imagem contendo placas em um estacionamento, você pode receber uma resposta como esta:
{
"text": [
{
"locations": [
],
"properties": [
],
"mid": "",
"locale": "en&qu>ot;,
"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.
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-t><o-anal>yze"
}
]]/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-bui><lding.>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-t><o-anal>yze"
}
]]/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-s><igns1.>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 da 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 |