Intégration PHP et Google Cloud Vision pour le traitement des images et des données visuelles

PHPz
Libérer: 2023-06-25 10:30:01
original
1823 Les gens l'ont consulté

PHP est un langage de programmation open source côté serveur largement utilisé. Il est populaire pour la technologie de traitement graphique 2D et de rendu d’images dans le développement de sites Web. Pour mettre en œuvre le traitement des images et des données visuelles, nous pouvons utiliser l'API Google Cloud Vision avec PHP.

L'API Google Cloud Vision est une API de vision par ordinateur flexible qui aide les développeurs à créer plus facilement diverses applications de vision industrielle. Il prend en charge le marquage d'images, la reconnaissance faciale, la reconnaissance de texte, la recherche d'images, la reconnaissance de logos et d'autres fonctions, et dispose d'une large gamme d'applications.

Dans cet article, nous examinerons en profondeur comment utiliser l'API Google Cloud Vision dans nos applications PHP pour mieux gérer nos données et images de vision.

Étape 1 : Créer un compte et un projet Google Cloud Platform

Pour utiliser l'API Google Cloud Vision, nous devons créer un compte Google Cloud Platform et un projet. Vous pouvez visiter Google Cloud Console (https://console.cloud.google.com/) et créer un nouveau projet. Dans la section API et services de la console, activez l'API Google Cloud Vision et créez les informations d'identification appropriées.

Étape 2 : Installer la bibliothèque cliente Google Cloud PHP

La bibliothèque cliente Google Cloud PHP nous permet d'interagir facilement avec l'API de Google Cloud. Nous pouvons installer la bibliothèque client via le gestionnaire de packages Composer. L'installation est rapide et facile en exécutant la commande suivante :

$ composer require google/cloud
Copier après la connexion

Troisième étape : définir les informations d'identification de l'API Google Cloud Vision

Avant d'utiliser l'API Google Cloud Vision, nous devons définir les informations d'identification de l'API pour l'authentification et l'autorisation dans le cloud. Nous pouvons définir les informations d'identification de l'API à l'aide du code suivant :

<?php
require __DIR__ . '/vendor/autoload.php';

use GoogleCloudVisionV1ImageAnnotatorClient;

// 引入GCP凭据
putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/credentials.json');

$client = new ImageAnnotatorClient();
?>
Copier après la connexion

Étape 4 : Appeler l'API Google Cloud Vision

Avant d'utiliser l'API Google Cloud Vision, nous devons télécharger les images à traiter sur Google Cloud Storage. Nous pouvons télécharger des fichiers dans Google Cloud Storage à l'aide de la fonction de téléchargement de fichiers de PHP.

<?php
require __DIR__ . '/vendor/autoload.php';

use GoogleCloudStorageStorageClient;

$storage = new StorageClient([
    'projectId' => 'my-project-id'
]);
$bucketName = 'my-bucket-name';
$bucket = $storage->bucket($bucketName);

$source = fopen('/path/to/local/image.jpg', 'r');
$bucket->upload($source, [
    'name' => 'image.jpg',
]);
?>
Copier après la connexion

Ensuite, nous pouvons appeler l'API Google Cloud Vision pour traiter cette image. Afin d'éviter que le téléchargement de fichiers et le traitement des images prennent beaucoup de temps à chaque fois, nous pouvons choisir de stocker d'abord les données d'image traitées dans Google Cloud Datastore, ce qui peut améliorer la vitesse et les performances du traitement des images.

<?php
require __DIR__ . '/vendor/autoload.php';

use GoogleCloudVisionV1ImageAnnotatorClient;
use GoogleCloudDatastoreDatastoreClient;

$datastore = new DatastoreClient([
    'projectId' => 'my-project-id'
]);
$bucketName = 'my-bucket-name';
$imageName = 'image.jpg';

$imageAnnotator = new ImageAnnotatorClient();
$image = file_get_contents(sprintf('gs://%s/%s', $bucketName, $imageName));
$response = $imageAnnotator->annotateImage([
    'image' => [
        'source' => [
            'gcsImageUri' => sprintf('gs://%s/%s', $bucketName, $imageName),
        ],
    ],
    'features' => [
        ['type' => 'TEXT_DETECTION'],
        ['type' => 'LABEL_DETECTION'],
    ],
]);
$ocrResult = $response->getTextAnnotations()[0]->getDescription();

$key = $datastore->key('ImageResults', sprintf('image_%s', $imageName));
$task = $datastore->entity($key, [
    'ocrResult' => $ocrResult,
]);
$datastore->insert($task);
?>
Copier après la connexion

Étape 5 : Obtenez le résultat de retour de l'API Google Cloud Vision

Après avoir terminé le traitement de l'image, nous pouvons utiliser le code suivant pour obtenir le résultat de retour de l'API Google Cloud Vision et l'imprimer sur notre application Web :

<?php
require __DIR__ . '/vendor/autoload.php';

use GoogleCloudDatastoreDatastoreClient;

$datastore = new DatastoreClient([
    'projectId' => 'my-project-id'
]);
$bucketName = 'my-bucket-name';
$imageName = 'image.jpg';

$key = $datastore->key('ImageResults', sprintf('image_%s', $imageName));
$result = $datastore->lookup($key);

?>
Copier après la connexion

Le code ci-dessus renverra les résultats de la reconnaissance OCR et les balises d'image sous forme de tableau, et nous pourrons les afficher dans l'application Web pour que les utilisateurs puissent les consulter.

À ce stade, nous prenons PHP comme exemple pour présenter en détail comment utiliser l'API Google Cloud Vision pour implémenter le traitement des images et des données visuelles. Grâce aux puissantes fonctions de l'API Google Cloud Vision et de PHP, nous pouvons traiter de grandes quantités de données visuelles de manière plus pratique et efficace, apportant ainsi des fonctions et des expériences plus riches à nos applications Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!