Google Vision OCR 爬坑建议

首先安装 Google Vision shell composer require google/cloud-vision 第一次使用的时候真的遇到的问题很多,文档是英文的,自己慢慢摸索的途中不免进行去百度google搜索 但是搜索出来的结果却不尽人意,可能是搜索方式不太对哈哈~,其实使用蛮简单,因为是别人现成对轮子,只不过使用对时候坑比较多, 所以特别列出以下几点。 1. 身份认证(就这个身份认证我搞了2个小时) 2. $vision->image($img_path) 图片如果传入url的话会抛出异常

身份认证

进入 https://console.cloud.google.com/ 在列表里面找到api与服务选择凭据,创建凭据,选择服务帐号与密钥进行创建,我选择的格式是json 这个就是我们需要的凭据,导出以后放进项目

php require 'vendor/autoload.php';

use Google\Cloud\Vision\VisionClient;

$vision = new VisionClient( [ 'keyFile' => jsondecode(filegetcontents($keypath), true) ] ); 

到这里身份认证就没有问题了,还有其他的方式,可自行研究,文档太高深,说实话不太喜欢阅读。

图片导入以及function选择

在google官方提供的文档当中是这样写的demo

require 'vendor/autoload.php';

use Google\Cloud\Vision\VisionClient;

$vision = new VisionClient();

// Annotate an image, detecting faces.
$image = $vision->image(
fopen('/data/family_photo.jpg', 'r'),
['faces']
); $annotation = $vision->annotate($image); // Determine if the detected faces have headwear.
foreach ($annotation->faces() as $key => $face) {
if ($face->hasHeadwear()) {
echo "Face $key has headwear.\n";
}
}

['faces']features方法是可以多传的,更具需求传入,在最后我列出了所有的features。

这里还存在一个问题,我的图片是url,我尝试使用fopenfilegetcontents`打开一个url,但是被抛出了异常(异常没深究,太高端看不懂,咱也不敢问), 最后是这样成功的,并成功拿到了返回。

[
'faces', // Corresponds to `FACE_DETECTION`
'landmarks', // Corresponds to `LANDMARK_DETECTION`
'logos', // Corresponds to `LOGO_DETECTION`
'labels', // Corresponds to `LABEL_DETECTION`
'text', // Corresponds to `TEXT_DETECTION`,
'document', // Corresponds to `DOCUMENT_TEXT_DETECTION`
'safeSearch', // Corresponds to `SAFE_SEARCH_DETECTION`
'imageProperties',// Corresponds to `IMAGE_PROPERTIES`
'crop', // Corresponds to `CROP_HINTS`
'web' // Corresponds to `WEB_DETECTION`
]

features

[
'faces', // Corresponds to `FACE_DETECTION`
'landmarks', // Corresponds to `LANDMARK_DETECTION`
'logos', // Corresponds to `LOGO_DETECTION`
'labels', // Corresponds to `LABEL_DETECTION`
'text', // Corresponds to `TEXT_DETECTION`,
'document', // Corresponds to `DOCUMENT_TEXT_DETECTION`
'safeSearch', // Corresponds to `SAFE_SEARCH_DETECTION`
'imageProperties',// Corresponds to `IMAGE_PROPERTIES`
'crop', // Corresponds to `CROP_HINTS`
'web' // Corresponds to `WEB_DETECTION`
]

 

以上初次使用的坑,见识略薄(也可能是我的理解和使用方式不对),也希望你们在使用的过程中能有所帮助!

Google Vision OCR的更多相关文章

  1. 【转】OCR识别引擎tesseract使用方法——安装leptonica和libtiff

    原文来自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c4224 ...

  2. 深入学习使用ocr算法识别图片中文字的方法

    公司有个需求,简单点说需要从一张图片中识别出中文,通过python来实现,当然其他程序也行,只要能实现,而小编主要学习python,所以就提了python.一个小白在网上遨游了一天,终于找到一丝丝思绪 ...

  3. JAVA使用Tess4J进行ocr识别

    Tess4J是对Tesseract OCR API.的Java JNA 封装.使java能够通过调用Tess4J的API来使用Tesseract OCR.支持的格式:TIFF,JPEG,GIF,PNG ...

  4. Google Coral Edge TPU USB加速棒上手体验

    Edge AI是什么?它为何如此重要? 传统意义上,AI解决方案需要强大的并行计算处理能力,长期以来,AI服务都是通过联网在线的云端基于服务器的计算来提供服务.但是具有实时性要求的AI解决方案需要在设 ...

  5. Awesome Python

    Awesome Python  A curated list of awesome Python frameworks, libraries, software and resources. Insp ...

  6. Machine and Deep Learning with Python

    Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...

  7. python 各种开源库

    测试开发 来源:https://www.jianshu.com/p/ea6f7fb69501 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 sel ...

  8. python 三方面库整理

    测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. –推荐 mechanize- Python中有状 ...

  9. Python开源框架、库、软件和资源大集合

    A curated list of awesome Python frameworks, libraries, software and resources. Inspired by awesome- ...

随机推荐

  1. Java练习 SDUT-1119_输入数字星期,输出英文(switch语句)

    C语言实验--输入数字星期,输出英文(switch语句) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 从键盘上输入数 ...

  2. 洞见数据库前沿 集结阿里云数据库最强阵容 DTCC 2019 八大亮点抢先看

    摘要: 作为DTCC的老朋友和全球领先的云计算厂商,阿里云数据库团队受邀参加本次技术盛会,不仅将派出重量级嘉宾阵容,还会为广大数据库业内人士和行业用户奉上8场精彩议题.下面小编就为大家提前梳理了8大亮 ...

  3. hdu 5793 A Boring Question(2016第六场多校)

    A Boring Question Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  4. 5 获取Form表单取值

    #form表达提交@app.route("/data",methods=['GET','POST']) #methods 让当前路由支持GET 和 POST 方式def data( ...

  5. rcGIS API for JavaScript之基础篇(一)

    ArcGIS API for JavaScript之基础篇(一)上一篇文章介绍了ArcGIS 10.4的安装指南也包含了所需要资源,需要的同学可以去公众号中查找.最近几天学习了2D地图.3D地图以及图 ...

  6. 只要是使用函数file_get_contents访问 https 的网站都要开启

    使用file_get_contents();报错failed to open stream: Unable to find the socket transport "ssl" - ...

  7. hadoop2.6.0 + hbase-1.0.0 伪分布配置

    1 基本配置 主机名: 192.168.145.154 hadoop2 ======= 2 etc/hadoop下文件配置 1)core-site.xml <configuration> ...

  8. 原生js用div实现简单的轮播图

    文章地址 https://www.cnblogs.com/sandraryan/ 原生js实现轮播图. 打开页面图片自动轮播,点击prev next按钮切换到上/下一张图片,点击1-5切换到对应图片. ...

  9. H3C NAT的信息显示和调试

  10. java反斜杠替换

    java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠 例如 str1="aa\bbb"; str2="aa'bbb"; 要想替换成 str ...