首頁  >  文章  >  後端開發  >  PHP和Google Cloud Vision整合實現圖像和視覺資料處理

PHP和Google Cloud Vision整合實現圖像和視覺資料處理

PHPz
PHPz原創
2023-06-25 10:25:211928瀏覽

PHP是一種廣泛使用的開放原始碼的伺服器端程式語言。它在網站開發二維圖形處理和圖片渲染技術方面廣受歡迎。要實現有關圖像和視覺資料的處理,我們可以使用Google Cloud Vision API以及PHP。

Google Cloud Vision API是一個靈活的電腦視覺API,它可以幫助開發者更輕鬆地建立各種機器視覺應用程式。它支援圖像標記、臉部辨識、文字辨識、圖像搜尋、logo辨識等功能,具有廣泛的應用性。

在本文中,我們將深入探討如何在我們的PHP應用程式中使用Google Cloud Vision API,以便更好地處理我們的視覺資料和影像。

步驟一:建立Google Cloud Platform帳戶和專案

要使用Google Cloud Vision API,我們需要建立一個Google Cloud Platform帳戶和一個專案。可以存取Google Cloud Console(https://console.cloud.google.com/)並建立一個新專案。在控制台的API和服務部分,啟用Google Cloud Vision API並建立對應的憑證。

步驟二:安裝Google Cloud PHP客戶端庫

Google Cloud PHP客戶端函式庫使我們能夠輕鬆地與Google Cloud的API進行互動。我們可以透過Composer套件管理器來安裝該客戶端庫。執行以下命令可以方便快速地進行安裝:

$ composer require google/cloud

步驟三:設定Google Cloud Vision API憑證

在使用Google Cloud Vision API之前,我們需要設定API憑證,以便在雲端進行身份驗證和授權。我們可以使用以下程式碼設定API憑證:

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

use GoogleCloudVisionV1ImageAnnotatorClient;

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

$client = new ImageAnnotatorClient();
?>

步驟四:呼叫Google Cloud Vision API

在使用Google Cloud Vision API之前,我們需要先將要處理的映像上傳到Google Cloud Storage 。我們可以使用PHP的檔案上傳函數將檔案上傳到Google Cloud Storage中。

<?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',
]);
?>

然後,我們可以呼叫Google Cloud Vision API來處理這個圖片。為了防止每次上傳檔案並處理影像都需要耗費大量時間,我們可以選擇先將處理過的影像資料儲存到Google Cloud Datastore中,這樣可以提高影像處理的速度和效能。

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

步驟五:取得Google Cloud Vision API的回傳結果

在完成映像處理後,我們可以使用如下的程式碼來取得Google Cloud Vision API的回傳結果並列印到我們的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);

?>

以上程式碼將返回OCR識別結果和圖像標籤為數組形式,我們可以將它們在Web應用程式中展示出來以便使用者查看。

到此,我們以PHP為例,詳細介紹如何使用Google Cloud Vision API實作影像和視覺資料處理。借助Google Cloud Vision API和PHP的強大功能,我們可以更便捷、有效率地處理大量的視覺數據,為我們的Web應用程式帶來更豐富的功能和體驗。

以上是PHP和Google Cloud Vision整合實現圖像和視覺資料處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn