morganolufsen / google-cloud-vision-php
一个简单的用于谷歌云视觉API的PHP库
Requires
- guzzlehttp/guzzle: ^7.6
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)
}
]
}