Extension Google Cloud Vision

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

<ph type="x-smartling-placeholder">

Version: 1.4.1

Découvrez le contenu et le texte dans des images à l'aide de modèles de machine learning.

Ce contenu fournit des informations de référence pour configurer et utiliser cette extension. Avant d'utiliser cette extension à partir d'un proxy d'API, vous devez:

  1. Activez l'API Cloud Vision pour votre compte de service.

  2. Si vous utilisez Cloud Storage comme source de vos images, vous devez également autoriser cette extension à accéder à Cloud Storage, comme décrit dans la documentation de référence sur les extensions Google Cloud Storage.

  3. Lorsque vous disposez d'un compte de service autorisé à accéder à Cloud Vision (et à Cloud Storage, le cas échéant), générez une clé pour le compte de service dans la console GCP.

  4. Utilisez le contenu du fichier JSON de clé obtenu lors de l'ajout et de la configuration de l'extension à l'aide de la documentation de référence de configuration.

À propos de Cloud Vision

L'API Google Cloud Vision utilise des modèles de machine learning pour analyser les images. Vous pouvez entraîner un modèle pour que l'API l'utilise ou utiliser le modèle intégré.

À l'aide du modèle intégré, Cloud Vision classe les images dans des catégories telles que "skyscraper", "voilier", "lion" ou "Tour Eiffel". Il détecte les objets, les visages, les logos et les points de repère dans les images, et localise les mots contenus dans les images.

Exemples

Les exemples suivants montrent comment configurer la prise en charge des actions de l'extension Cloud Vision à l'aide de la règle ExtensionCall.

Détecter des libellés

Dans l'exemple suivant, l'action detectLabels de l'extension récupère l'image au niveau du image_uri et la transmet à l'API Cloud Vision pour analyse. L'API examinera l'image et déterminera les étiquettes qui s'appliquent à son contenu.

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

La règle Assign Message (Attribuer un message) suivante utilise la valeur de la variable stockant la réponse de l'extension pour attribuer la charge utile de réponse.

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

Pour l'image d'une zone urbaine comprenant un bâtiment très haut, vous pouvez obtenir une réponse telle que la suivante:

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

Détecter du texte

Dans l'exemple suivant, l'action d'extension detectText récupère l'image au niveau du image_uri et la transmet à l'API Cloud Vision pour analyse. L'API examinera l'image et identifiera le texte qu'elle contient.

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

La règle Assign Message (Attribuer un message) suivante utilise la valeur de la variable stockant la réponse de l'extension pour attribuer la charge utile de réponse.

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

À partir d'une image contenant des panneaux de signalisation de parking, vous pouvez obtenir une réponse telle que la suivante:

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

Actions

<ph type="x-smartling-placeholder">

detectLabels

Détecte et extrait des informations sur les entités dans l'image spécifiée. Les entités détectées couvrent un large groupe de catégories. Par exemple, utilisez cette action pour identifier des objets, des lieux, des activités, des espèces animales, des produits, etc.

Veillez également à consulter la documentation de l'API Cloud Vision.

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
image_uri Source de l'image. Elle peut provenir d'Internet ou de Google Cloud Storage (format: gs://bucketname/filename). Si la source est Google Cloud Storage, le fichier image doit être public. Chaîne Aucun Oui.

Syntaxe

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

Exemple

Dans l'exemple suivant, l'action detectLabels de l'extension envoie l'image spécifiée à l'API Vision pour analyse.

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

Réponse

Objet contenant un tableau labels de thèmes représentant les entités détectées dans l'image. Pour en savoir plus, consultez la section Détecter les étiquettes.

detectText

Détecte et extrait le texte de l'image spécifiée.

Paramètres de requête

Paramètre Description Type Par défaut Obligatoire
image_uri Source de l'image. Elle peut provenir d'Internet ou de Google Cloud Storage (format: gs://bucketname/filename). Si la source est Google Cloud Storage, le fichier image doit être public. Chaîne Aucun Oui.

Syntaxe

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

Exemple

Dans l'exemple suivant, l'action detectText de l'extension envoie l'image spécifiée à l'API Vision pour analyse.

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

Réponse

Objet contenant un tableau text du texte détecté. Pour en savoir plus, consultez la section Détecter les étiquettes.

Documentation de référence sur la configuration

Procédez comme suit lorsque vous configurez et déployez cette extension afin de l'utiliser dans des proxys d'API. Pour savoir comment configurer une extension à l'aide de la console Apigee, consultez Ajouter et configurer une extension.

Propriétés courantes des extensions

Les propriétés suivantes sont présentes pour chaque extension.

Propriété Description Par défaut Obligatoire
name Nom que vous attribuez à cette configuration de l'extension. Aucune Oui
packageName Nom du package d'extension tel qu'indiqué par Apigee Edge. Aucune Oui
version Numéro de version du package d'extension à partir duquel vous configurez une extension. Aucune Oui
configuration Valeur de configuration spécifique à l'extension que vous ajoutez. Consultez Propriétés de ce package d'extension. Aucune Oui