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中文網其他相關文章!