Estensione Google Cloud Vision

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Versione: 1.4.1

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

Questi contenuti forniscono 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 account di servizio.

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

  3. Se hai un account di servizio che dispone dell'autorizzazione per Cloud Vision (e per Cloud Storage, se lo stai utilizzando), utilizza la console di Google Cloud per generare una chiave per l'account di servizio.

  4. Utilizza i contenuti del file JSON della chiave risultante durante l'aggiunta e la configurazione dell'estensione utilizzando il riferimento di configurazione.

Informazioni su Cloud Vision

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

Utilizzando il modello integrato, Cloud Vision classifica le immagini in categorie quali "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.

Samples

I seguenti esempi mostrano come configurare il supporto per le azioni dell'estensione Cloud Vision utilizzando i criteri ExtensionCallout.

Rilevamento delle etichette

Nell'esempio seguente, l'azione detectLabels dell'estensione recupera l'immagine all'indirizzo image_uri e la passa all'API Cloud Vision per l'analisi. L'API esaminerà l'immagine e determinerà quali etichette applicare ai suoi contenuti.

<?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 Assegna messaggio 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 l'immagine di un'area urbana in cui si trova un edificio molto alto, potresti ricevere una risposta simile alla 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
      }
  ]
}

Rileva testo

Nell'esempio seguente, l'azione detectText delle estensioni recupera l'immagine all'indirizzo image_uri e la passa all'API Cloud Vision per l'analisi. L'API esaminerà l'immagine, identificando il testo al suo interno.

<?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 Assegna messaggio 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 dei cartelli in un diario di parcheggio, potresti ricevere una risposta simile alla 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 rientrano in un ampio gruppo di categorie. Ad esempio, puoi utilizzare questa azione per identificare oggetti, luoghi, attività, specie animali, prodotti e altro ancora.

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

Parametri richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
image_uri Origine dell'immagine. L'origine può essere Internet o Google Cloud Storage (formato: gs://bucketname/filename). Se l'origine è Google Cloud Storage, il file immagine deve essere pubblico. Stringa Nessuna. 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ù, consulta Rilevare le etichette.

detectText

Rileva ed estrae il testo dall'immagine specificata.

Parametri richiesta

Parametro Descrizione Tipo Predefinito Obbligatorie
image_uri Origine dell'immagine. L'origine può essere Internet o Google Cloud Storage (formato: gs://bucketname/filename). Se l'origine è Google Cloud Storage, il file immagine deve essere pubblico. Stringa Nessuna. 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ù, consulta Rilevare le etichette.

Riferimento per la configurazione

Utilizza quanto segue durante la configurazione e il deployment di questa estensione per l'utilizzo nei proxy API. Per i passaggi per configurare un'estensione utilizzando la console Apigee, consulta Aggiungere e configurare un'estensione.

Proprietà delle estensioni comuni

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