Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Versão: 1.4.1
Descubra o conteúdo e o texto em imagens usando modelos de aprendizado de máquina.
Este conteúdo oferece referência para configurar e usar essa extensão. Antes de usar essa extensão de um proxy de API, você precisa:
Ative a API Cloud Vision para sua conta de serviço.
Se o Cloud Storage for usado como a origem das imagens, conceda também o acesso do Cloud Storage a essa extensão, conforme descrito em 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 da chave resultante ao adicionar e configurar a extensão com a referência de configuração.
Sobre o Cloud Vision
A API Google Cloud Vision usa modelos de aprendizado de máquina 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". Ele detecta objetos, rostos, logotipos e pontos de referência nas imagens e localiza palavras contidas nelas.
Exemplos
Os exemplos a seguir ilustram como configurar o suporte para ações de extensão do Cloud Vision usando a política ExtensionHeadline.
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 política Atribuir mensagem a seguir 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>
Dada uma imagem de uma área urbana com um prédio muito alto, é possível receber uma resposta como a seguinte:
{
"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 das extensões detectText
recebe a imagem em image_uri
e a transmite para a análise da API Cloud Vision. A API vai examinar a imagem, identificando o texto que ela contém.
<?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 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>
Dada uma imagem contendo placas em um registro de estacionamento, você pode receber uma resposta como a seguinte:
{
"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 esta ação para identificar objetos, locais, atividades, espécies de animais, produtos e muito mais.
Além disso, consulte 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. Ele 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 à API Vision para análise.
<Input><![CDATA[
{
"image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>
Resposta
Um objeto contendo uma matriz labels
de rótulos que representam entidades detectadas na imagem. Para saber mais, 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. Ele 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 à 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 saber mais, consulte Detectar rótulos.
Referência de configuração
Use o código a seguir ao configurar e implantar a extensão para uso em proxies de API. Para saber como configurar uma extensão usando o console da Apigee, consulte Como 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 |