morganolufsen/google-cloud-vision-php

一个简单的用于谷歌云视觉API的PHP库

1.3.0 2024-02-27 13:27 UTC

This package is auto-updated.

Last update: 2024-09-27 14:59:48 UTC


README

概述

对图像执行标签检测、人脸检测、标志检测、显式内容检测、地标检测、光学字符识别和网页检测。您可以在https://cloud.google.com/vision/上了解更多关于谷歌云视觉的信息

入门指南

您需要谷歌账户才能使用此API,所以如果您还没有谷歌账户,请前往那里创建一个

安装

composer require wapnen/google-cloud-vision-php

启用API

要开始使用谷歌云视觉API,请按照以下说明启用API以供您的谷歌账户使用:https://cloud.google.com/vision/docs/before-you-begin

认证

您必须设置一个API密钥以认证您的请求。请按照以下说明在谷歌云平台控制台上为您的项目设置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个要随请求对象发送的标注图像请求

函数setImageUri();接受谷歌云存储图像位置或公开访问的图像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)
    }
  ]
}