Estensione Google Cloud Vision

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

Versione: 2.0.0

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. Attiva l'API Cloud Vision per il tuo account di servizio.

  2. Se utilizzi Cloud Storage come origine delle immagini, devi anche concedere l'accesso a questa estensione a Cloud Storage come descritto nella documentazione di riferimento dell'estensione Google Cloud Storage.

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

  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 Google Cloud Vision utilizza modelli di machine learning per analizzare le immagini. Puoi addestrare un modello da utilizzare con 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 al loro interno.

Esempi

Gli esempi riportati di seguito illustrano come configurare il supporto per le azioni di estensione di Cloud Vision utilizzando il criterio ExtensionCallout.

Rilevamento delle etichette

Nell'esempio seguente, l'azione detectLabels dell'estensione recupera l'immagine in image_uri e la passa all'API Cloud Vision per l'analisi. L'API esaminerà l'immagine e determinerà quali etichette applicare ai contenuti 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 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 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
      }
  ]
}

Rileva il testo

Nell'esempio seguente, l'azione di estensione detectText recupera l'immagine in 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 segnali in un log del 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 spaziano in un ampio gruppo di categorie. Ad esempio, utilizza questa azione per identificare oggetti, località, attività, specie animali, prodotti e altro ancora.

Inoltre, consulta la documentazione dell'API Cloud Vision.

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
image_uri L'origine dell'immagine. Può essere 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 Rilevare le 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ò essere 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 Rilevare le etichette.

Riferimento alla configurazione

Utilizza quanto segue quando configuri ed esegui il deployment di questa estensione per utilizzarla nei proxy API. Per la procedura di configurazione di 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