>백엔드 개발 >PHP 튜토리얼 >이미지 및 시각적 데이터 처리를 위한 PHP 및 Google Cloud Vision 통합

이미지 및 시각적 데이터 처리를 위한 PHP 및 Google Cloud Vision 통합

PHPz
PHPz원래의
2023-06-25 10:25:211971검색

PHP는 널리 사용되는 오픈 소스 서버 측 프로그래밍 언어입니다. 웹사이트 개발 시 2D 그래픽 처리 및 이미지 렌더링 기술로 인기가 높습니다. 이미지 및 시각적 데이터 처리를 구현하기 위해 PHP와 함께 Google Cloud Vision API를 사용할 수 있습니다.

Google Cloud Vision API는 개발자가 다양한 머신 비전 애플리케이션을 더 쉽게 구축하는 데 도움이 되는 유연한 컴퓨터 비전 API입니다. 이미지 태깅, 얼굴 인식, 텍스트 인식, 이미지 검색, 로고 인식 및 기타 기능을 지원하며 광범위한 응용 프로그램을 보유하고 있습니다.

이 기사에서는 PHP 애플리케이션에서 Google Cloud Vision API를 사용하여 비전 데이터와 이미지를 더 잘 처리하는 방법에 대해 자세히 알아봅니다.

1단계: Google Cloud Platform 계정 및 프로젝트 생성

Google Cloud Vision API를 사용하려면 Google Cloud Platform 계정과 프로젝트를 생성해야 합니다. Google Cloud Console(https://console.cloud.google.com/)을 방문하여 새 프로젝트를 만들 수 있습니다. 콘솔의 API 및 서비스 섹션에서 Google Cloud Vision API를 활성화하고 적절한 자격 증명을 만듭니다.

2단계: Google Cloud PHP 클라이언트 라이브러리 설치

Google Cloud PHP 클라이언트 라이브러리를 사용하면 Google Cloud API와 쉽게 상호작용할 수 있습니다. Composer 패키지 관리자를 통해 클라이언트 라이브러리를 설치할 수 있습니다. 다음 명령을 실행하면 설치가 빠르고 쉽습니다.

$ composer require google/cloud

3단계: 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();
?>

4단계: 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);
?>

5단계: Google Cloud Vision API의 반환 결과 가져오기

이미지 처리를 완료한 후 다음 코드를 사용하여 Google Cloud Vision API의 반환 결과를 가져와 웹 애플리케이션에 인쇄할 수 있습니다.

<?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 인식 결과와 이미지 태그를 배열 형식으로 반환하고 이를 사용자가 볼 수 있도록 웹 애플리케이션에 표시할 수 있습니다.

이 시점에서는 PHP를 예로 들어 Google Cloud Vision API를 사용하여 이미지 및 시각적 데이터 처리를 구현하는 방법을 자세히 소개합니다. Google Cloud Vision API 및 PHP의 강력한 기능을 통해 우리는 대량의 시각적 데이터를 보다 편리하고 효율적으로 처리할 수 있으며 웹 애플리케이션에 더욱 풍부한 기능과 경험을 제공할 수 있습니다.

위 내용은 이미지 및 시각적 데이터 처리를 위한 PHP 및 Google Cloud Vision 통합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.