Détecter les étiquettes dans une image à l'aide de la ligne de commande
Cette page explique comment envoyer trois requêtes de détection de caractéristiques et d'annotation à l'API Vision à l'aide de l'interface REST et de la commande curl.
L'API Vision permet d'intégrer facilement les technologies de reconnaissance visuelle de Google dans des applications de développement. Vous pouvez envoyer les données d'image et les types de fonctionnalités demandées à l'API Vision, qui enverra en retour la réponse correspondante en fonction des attributs d'image recherchés. Pour plus d'informations sur les fonctionnalités proposées, consultez la liste de toutes les fonctionnalités de l'API Vision.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créer un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez l'API Vision :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.gcloud services enable vision.googleapis.com
-
Attribuez des rôles à votre compte utilisateur. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/storage.objectViewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetUSER_IDENTIFIER: identifiant de votre compte utilisateur Par exemple,myemail@example.com.ROLE: rôle IAM que vous attribuez à votre compte utilisateur
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créer un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez l'API Vision :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.gcloud services enable vision.googleapis.com
-
Attribuez des rôles à votre compte utilisateur. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/storage.objectViewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetUSER_IDENTIFIER: identifiant de votre compte utilisateur Par exemple,myemail@example.com.ROLE: rôle IAM que vous attribuez à votre compte utilisateur
Créer une requête d'annotation d'image
Après avoir suivi la procédure Avant de commencer, vous pouvez utiliser l'API Vision pour annoter un fichier image.
Dans cet exemple, la commande curl est utilisée pour envoyer à l'API Vision une requête portant sur l'image suivante :
URI Cloud Storage :
gs://cloud-samples-data/vision/using_curl/shanghai.jpeg
URL HTTPS :
https://console.cloud.google.com/storage/browser/cloud-samples-data/vision/using_curl/shanghai.jpeg
Créer la requête JSON
Le fichier request.json suivant montre comment demander trois fonctionnalités images:annotate et limiter les résultats dans la réponse.
Créez un fichier de requête JSON avec le texte suivant, puis enregistrez-le sous la forme d'un fichier texte brut nommé request.json dans votre répertoire de travail :
request.json
{ "requests": [ { "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/using_curl/shanghai.jpeg" } }, "features": [ { "type": "LABEL_DETECTION", "maxResults": 3 }, { "type": "OBJECT_LOCALIZATION", "maxResults": 1 }, { "type": "TEXT_DETECTION", "maxResults": 1, "model": "builtin/latest" } ] } ] }
Envoyer la requête
Utilisez curl et le corps du contenu de request.json pour envoyer la requête à l'API Vision. Saisissez les lignes suivantes depuis l'invite de ligne de commande :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ -H "Content-Type: application/json; charset=utf-8" \ https://vision.googleapis.com/v1/images:annotate -d @request.json
Interpréter la réponse
Vous devriez obtenir une réponse JSON semblable à celle présentée ci-dessous.
Dans le corps JSON de la requête, maxResults était spécifié pour chaque type d'annotation.
Par conséquent, les résultats obtenus dans le JSON de la réponse sont les suivants :
- Trois résultats
labelAnnotations - Un résultat
textAnnotations(abrégé pour plus de clarté) - Un résultat
localizedObjectAnnotations
Résultats de la détection de thèmes
- Description : "People" (Personnes), score : 0,950
- Description : "Street" (Rue), score : 0,891
- Description : "Mode of transport" (Mode de transport), score : 0,890
Résultats de la détection de texte
- Texte : 牛牛面馆\n
- Sommets : (x : 159, y : 212), (x : 947, y : 212), (x : 947, y : 354), (x : 159, y : 354)
Résultats de la détection d'objets
- Nom : "Person" (Personne), score : 0,944
- Sommets normalisés : (x : 0,260, y : 0,468), (x : 0,407, y : 0,468), (x : 0,407, y : 0,895), (x : 0,260, y : 0,895)
Félicitations ! Vous avez envoyé votre première requête à l'API Vision.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, supprimez le Google Cloud projet qui les contient.
Facultatif : Révoquez les identifiants de gcloud CLI.
gcloud auth revoke
Étape suivante
- Consultez la liste de tous les types de fonctionnalités et leur utilisation.
- Commencez à utiliser l'API Vision dans le langage de votre choix grâce à la bibliothèque cliente de l'API Vision.
- Utilisez les guides d'utilisation pour en savoir plus sur des fonctionnalités spécifiques, voir des exemples d'annotations et obtenir des annotations pour un fichier ou une image spécifiques.
- Apprenez-en plus sur l'annotation par lot des images et fichiers (PDF/TIFF/GIF).
- Parcourez une liste complète d'exemples de code de bibliothèques clientes.