guigald/google-cloud-vision-php

一个用于 Google Cloud Vision API 的简单 PHP 库

dev-master 2022-05-18 18:28 UTC

This package is not auto-updated.

Last update: 2024-09-20 03:52:28 UTC


README

概述

对图像执行标签检测、人脸检测、Logo 检测、显式内容检测、地标检测、光学字符识别和网页检测。您可以在此处了解更多关于 Google Cloud Vision 的信息:https://cloud.google.com/vision/

入门

您需要 Google 帐户才能使用此 API,因此如果您还没有 Google 帐户,请前往那里创建一个

安装

composer require wapnen/google-cloud-vision-php

启用 API

要开始使用 Google Cloud Vision API,请按照此处说明启用 Google 帐户的 API:https://cloud.google.com/vision/docs/before-you-begin

身份验证

您必须设置一个 API 密钥来验证您的请求。请按照此处说明在 Google Cloud Platform 控制台中为您的项目设置 API 密钥:https://support.google.com/cloud/answer/6158862?hl=en

使用

<?php
include "vendor/autoload.php";
use GoogleCloudVision\GoogleCloudVision;
use GoogleCloudVision\Request\AnnotateImageRequest;
use GoogleCloudVision\Request\Request;


$annotateImageRequest1 = new AnnotateImageRequest();
$annotateImageRequest1->setImageUri("https://cdn.pixabay.com/photo/2016/02/19/11/25/supreme-court-building-1209701_960_720.jpg");
$annotateImageRequest1->setFeature('IMAGE_PROPERTIES');
$annotateImageRequest1->setFeature('LABEL_DETECTION');
$annotateImageRequest1->setFeature('WEB_DETECTION');

$gcvRequest = new GoogleCloudVision([$annotateImageRequest1], "Your_api_key");
$response = $gcvRequest->annotate();

echo json_encode($response);



 ?>

注意:您可以为请求对象创建多达 16 个 Annotate image 请求

函数 setImageUri(); 接受 Google Cloud Storage 图像位置或公开可访问的图像 URL。或者,您可以使用 setImage();,它接受 base64 编码的图像字符串。

您可以通过在 annotateImageRequest 上调用 setFeature(); 函数并将以下枚举参数之一作为参数来设置 annotateImageRequest 可以用的任何功能:TYPE_UNSPECIFIED, FACE_DETECTION, LANDMARK_DETECTION, LOGO_DETECTION, LABEL_DETECTION, TEXT_DETECTION, DOCUMENT_TEXT_DETECTION, SAFE_SEARCH_DETECTION, IMAGE_PROPERTIES, CROP_HINTS, WEB_DETECTION。

可选地,您可以像这样为每个 annotateImageRequest 对象设置图像上下文

$annotateImageRequest1 = new AnnotateImageRequest()
$annotateImageRequest1->setImageContext();
$annotateImageRequest1->getImageContext()->setCropHintsParams([1.333]); //array
$annotateImageRequest1->getImageContext()->setWebDetectionParams(false);  //boolean
$annotateImageRequest1->getImageContext()->setLanguageHints([]); //array

最后,GoogleCloudVision 请求对象将 AnnotateImageRequest 对象的数组作为第一个参数,并将 API 密钥作为第二个参数

响应对象

如果成功,您将收到以下格式的 JSON 对象响应:

{
  "responses": [
    {
      object(AnnotateImageResponse)
    }
  ]
}