Google Vision API

  • Google Cloud Console

(https://cloud.google.com/vision/docs/setup?hl=zh_CN)

1.创建项目

2.启用结算功能

3.启用 API

4.创建服务帐号

创建服务帐号:

在 Cloud Console 中,转到创建服务帐号页面。

  1. 转到“创建服务帐号”
  2. 选择您的项目。

服务帐号名称字段中,输入一个名称。Cloud Console 会根据此名称填充服务帐号 ID 字段。

服务帐号说明字段中,输入说明。例如,Service account for quickstart

  1. 点击创建并继续

如需提供对项目的访问权限,请向服务帐号授予以下角色:Project > Owner

点击选择角色字段,然后选择第一个(或唯一一个)角色。

如需添加其他角色,请点击添加其他角色,然后添加其他各个角色。

注意角色字段会影响您的服务帐号可以访问项目中的哪些资源。您可以撤消这些角色或稍后授予其他角色。在生产环境中,请勿授予 Owner、Editor 或 Viewer 角色。请改为授予满足您需求的预定义角色自定义角色

  1. 点击继续

点击完成以完成服务帐号的创建过程。

不要关闭浏览器窗口。您将在下一步骤中用到它。

创建服务帐号密钥:

  1. 在 Cloud Console 中,点击您创建的服务帐号的电子邮件地址。
  2. 点击密钥
  3. 依次点击添加密钥创建新密钥
  4. 点击创建。JSON 密钥文件将下载到您的计算机上。
  5. 点击关闭
  • 安装

 composer require google/cloud-vision

  • 使用

require_once  '/home/meng/vision/vendor/autoload.php';
use Google\Cloud\Vision\V1\ImageAnnotatorClient;
putenv('GOOGLE_APPLICATION_CREDENTIALS=/srv/jobs/chineseinlv/chineseinla.com_api-project-7439950439-5cdb5173d7c8.json');    

//用google vision api获取图片文本
    //每月免费1000张图片
    static function detect_text($path)
    {
        $imageAnnotator = new ImageAnnotatorClient();

        # annotate the image
        $image = file_get_contents($path);
        $response = $imageAnnotator->textDetection($image);
        $texts = $response->getTextAnnotations();
        /*printf('%d texts found:' . PHP_EOL, count($texts));
        foreach ($texts as $text) {
            print($text->getDescription() . PHP_EOL);

            # get bounds
            $vertices = $text->getBoundingPoly()->getVertices();
            $bounds = [];
            foreach ($vertices as $vertex) {
                $bounds[] = sprintf('(%d,%d)', $vertex->getX(), $vertex->getY());
            }
            print('Bounds: ' . join(', ', $bounds) . PHP_EOL);
        }*/
        $imageAnnotator->close();
        return $texts->getIterator()->current()->getDescription();
    }

 

 

你可能感兴趣的:(php)