Estensione Google Cloud Vision

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Versione: 2.0.2

Scopri i contenuti e il testo nelle immagini utilizzando i modelli di machine learning.

Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione. Prima di utilizzare questa estensione da un proxy API, devi:

  1. Abilita l'API Cloud Vision per il tuo service account.

  2. Se utilizzerai Cloud Storage come origine delle immagini, dovrai anche concedere l'accesso a questa estensione a Cloud Storage, come descritto nel riferimento all'estensione Google Cloud Storage.

  3. Quando hai un service account con l'autorizzazione per Cloud Vision (e Cloud Storage, se lo utilizzi), utilizza la console Google Cloud per generare una chiave per il service account.

  4. Utilizza i contenuti del file JSON della chiave risultante quando aggiungi e configuri l'estensione utilizzando il riferimento alla configurazione.

Informazioni su Cloud Vision

L'API Cloud Vision di Google utilizza modelli di machine learning per analizzare le immagini. Puoi addestrare un modello da utilizzare per l'API o utilizzare il modello integrato.

Utilizzando il modello integrato, Cloud Vision classifica le immagini in categorie come "grattacielo", "barca a vela", "leone" o "Torre Eiffel". Rileva oggetti, volti, loghi e punti di riferimento all'interno delle immagini e individua le parole contenute nelle immagini.

Esempi

Gli esempi seguenti illustrano come configurare il supporto per le azioni di estensione di Cloud Vision utilizzando il ExtensionCallout policy.

Rilevamento delle etichette

Nell'esempio seguente, l'azione detectLabels dell'estensione recupera l'immagine all'indirizzo image_uri e la trasmette all'API Cloud Vision per l'analisi. L'API esaminerà l'immagine e determinerà quali etichette si applicano al contenuto dell'immagine.

<?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>

Il seguente criterio Assign Message utilizza il valore della variabile che memorizza la risposta dell'estensione per assegnare il payload della risposta.

<?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>

Data un'immagine di un'area urbana con un edificio molto alto, potresti ricevere una risposta come la seguente:

{
  "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
      }
  ]
}

Rilevare il testo

Nell'esempio seguente, l'azione detectText dell'estensione recupera l'immagine all'indirizzo image_uri e la trasmette all'API Cloud Vision per l'analisi. L'API esaminerà l'immagine, identificando il testo presente.

<?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>

Il seguente criterio Assign Message utilizza il valore della variabile che memorizza la risposta dell'estensione per assegnare il payload della risposta.

<?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>

Data un'immagine contenente segnali in un parcheggio, potresti ricevere una risposta come la seguente:

{
  "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
                  }
              ]
          }
      }
   ]
}

Azioni

detectLabels

Rileva ed estrae informazioni sulle entità all'interno dell'immagine specificata. Le entità rilevate appartengono a un ampio gruppo di categorie. Ad esempio, utilizza questa azione per identificare oggetti, luoghi, attività, specie animali, prodotti e altro ancora.

Inoltre, assicurati di consultare la documentazione dell'API Cloud Vision.

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
image_uri L'origine dell'immagine. Può provenire da internet o da Google Cloud Storage (formato: gs://bucketname/filename). Se l'origine è Google Cloud Storage, il file immagine deve essere pubblico. Stringa Nessuno. Sì.

Sintassi

<Input><![CDATA[{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Esempio

Nell'esempio seguente, l'azione detectLabels dell'estensione invia l'immagine specificata all'API Vision per l'analisi.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>

Risposta

Un oggetto contenente un array labels di etichette che rappresentano le entità rilevate all'interno dell'immagine. Per saperne di più, vedi Rilevamento delle etichette.

detectText

Rileva ed estrae il testo dall'immagine specificata.

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
image_uri L'origine dell'immagine. Può provenire da internet o da Google Cloud Storage (formato: gs://bucketname/filename). Se l'origine è Google Cloud Storage, il file immagine deve essere pubblico. Stringa Nessuno. Sì.

Sintassi

<Input><![CDATA[
{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Esempio

Nell'esempio seguente, l'azione detectText dell'estensione invia l'immagine specificata all'API Vision per l'analisi.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>

Risposta

Un oggetto contenente un array text del testo rilevato. Per saperne di più, vedi Rilevamento delle etichette.

Riferimento alla configurazione

Utilizza quanto segue quando configuri ed esegui il deployment di questa estensione per l'utilizzo nei proxy API. Per i passaggi per configurare un'estensione utilizzando la console Apigee, vedi Aggiunta e configurazione di un'estensione.

Proprietà comuni delle estensioni

Per ogni estensione sono presenti le seguenti proprietà.

Proprietà Descrizione Predefinito Obbligatorio
name Il nome che assegni a questa configurazione dell'estensione. Nessuno
packageName Nome del pacchetto dell'estensione fornito da Apigee Edge. Nessuno
version Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. Nessuno
configuration Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni Nessuno