Rumah >pembangunan bahagian belakang >tutorial php >Penyepaduan PHP dan Google Cloud Vision untuk pemprosesan data imej dan visual

Penyepaduan PHP dan Google Cloud Vision untuk pemprosesan data imej dan visual

PHPz
PHPzasal
2023-06-25 10:25:211971semak imbas

PHP ialah bahasa pengaturcaraan bahagian pelayan sumber terbuka yang digunakan secara meluas. Ia popular untuk pemprosesan grafik 2D dan teknologi pemaparan imej dalam pembangunan laman web. Untuk melaksanakan pemprosesan data imej dan visual, kami boleh menggunakan API Google Cloud Vision bersama-sama dengan PHP.

Google Cloud Vision API ialah API penglihatan komputer fleksibel yang membantu pembangun membina pelbagai aplikasi penglihatan mesin dengan lebih mudah. Ia menyokong penandaan imej, pengecaman muka, pengecaman teks, carian imej, pengecaman logo dan fungsi lain, dan mempunyai pelbagai aplikasi.

Dalam artikel ini, kami akan mendalami cara menggunakan API Google Cloud Vision dalam aplikasi PHP kami untuk mengendalikan data dan imej penglihatan kami dengan lebih baik.

Langkah 1: Buat akaun dan projek Google Cloud Platform

Untuk menggunakan API Google Cloud Vision, kami perlu membuat akaun dan projek Google Cloud Platform. Anda boleh melawati Google Cloud Console (https://console.cloud.google.com/) dan membuat projek baharu. Dalam bahagian API dan Perkhidmatan konsol, dayakan API Google Cloud Vision dan buat bukti kelayakan yang sesuai.

Langkah 2: Pasang pustaka klien Google Cloud PHP

Pustaka klien Google Cloud PHP membolehkan kami berinteraksi dengan mudah dengan API Google Cloud. Kami boleh memasang perpustakaan pelanggan melalui pengurus pakej Komposer. Pemasangan adalah pantas dan mudah dengan melaksanakan arahan berikut:

$ composer require google/cloud

Langkah Tiga: Tetapkan Bukti Kelayakan API Google Cloud Vision

Sebelum menggunakan API Google Cloud Vision, kami perlu menetapkan bukti kelayakan API untuk pengesahan dan kebenaran dalam awan. Kami boleh menetapkan bukti kelayakan API menggunakan kod berikut:

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

use GoogleCloudVisionV1ImageAnnotatorClient;

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

$client = new ImageAnnotatorClient();
?>

Langkah 4: Panggil Google Cloud Vision API

Sebelum menggunakan Google Cloud Vision API, kami perlu memuat naik imej untuk diproses ke Google Cloud Storage. Kami boleh memuat naik fail ke dalam Google Cloud Storage menggunakan fungsi muat naik fail 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',
]);
?>

Kemudian, kita boleh memanggil API Google Cloud Vision untuk memproses imej ini. Untuk mengelakkan memuat naik fail dan memproses imej daripada mengambil banyak masa setiap kali, kami boleh memilih untuk menyimpan data imej yang diproses dalam Google Cloud Datastore terlebih dahulu, yang boleh meningkatkan kelajuan dan prestasi pemprosesan imej.

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

Langkah 5: Dapatkan hasil pulangan Google Cloud Vision API

Selepas melengkapkan pemprosesan imej, kami boleh menggunakan kod berikut untuk mendapatkan hasil pulangan Google Cloud Vision API dan mencetaknya ke aplikasi web kami:

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

?>

Kod di atas akan mengembalikan hasil pengecaman OCR dan teg imej dalam bentuk tatasusunan, dan kami boleh memaparkannya dalam aplikasi web untuk dilihat oleh pengguna.

Pada ketika ini, kami mengambil PHP sebagai contoh untuk memperkenalkan secara terperinci cara menggunakan API Google Cloud Vision untuk melaksanakan pemprosesan data imej dan visual. Dengan bantuan fungsi hebat Google Cloud Vision API dan PHP, kami boleh memproses sejumlah besar data visual dengan lebih mudah dan cekap, membawakan fungsi dan pengalaman yang lebih kaya kepada aplikasi web kami.

Atas ialah kandungan terperinci Penyepaduan PHP dan Google Cloud Vision untuk pemprosesan data imej dan visual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn