PHP:基于百度大脑api实现OCR文字识别
有个项目要用到文字识别,网上找了很多资料,效果不是很好,偶然的机会,接触到百度大脑。百度大脑提供了很多解决方案,其中一个就是文字识别,百度提供了三种文字识别,分别是银行卡识别、身份证识别和通用文字识别,下面我们来测试下吧。
第一步:下载PHP文字识别demo
下载地址:https://git.oschina.net/jianqingwang/ocr
第二步:申请api
到百度大脑https://ai.baidu.com/tech/ocr/general申请api
sa
百度大脑申请api
申请好了之后,创建应用,可以得到2个信息,一分别是AppID,API Key和Secret Key。
打开demo下的DemoAipOcr.php,我们一起配置下接口信息!
<?php // 引入文字识别OCR SDK
require_once '../AipOcr.php'; // 定义常量
const APP_ID = '写你的id';
const API_KEY = '写你的key';
const SECRET_KEY = '写你的SECRET_KEY'; // 初始化
$aipOcr = new AipOcr(APP_ID, API_KEY, SECRET_KEY); // 身份证识别
//var_dump($aipOcr->idcard(file_get_contents('idcard.jpg'), true)); // 银行卡识别
//var_dump($aipOcr->bankcard(file_get_contents('bankcard.jpg'))); // 通用文字识别
$rescult = $aipOcr->general(file_get_contents('20170413195205.jpg'));
$words = $rescult['words_result'];
var_dump($words[0]);
//var_dump($aipOcr->general(file_get_contents('20170413195205.jpg')));
上面展示了三种识别系统,想测试银行卡识别、身份证识别取消相关方法的注释即可。
原图:
通用文字识别测试图片
我们看下我本地图片20170413195205.jpg的识别效果:
array(12) { [0]=> array(2) { [“location”]=> array(4) { [“left”]=> int(34) [“top”]=> int(13) [“width”]=> int(96) [“height”]=> int(20) } [“words”]=> string(15) “阿迪邮件通” } [1]=> array(2) { [“location”]=> array(4) { [“left”]=> int(770) [“top”]=> int(14) [“width”]=> int(35) [“height”]=> int(19) } [“words”]=> string(6) “首页” } [2]=> array(2) { [“location”]=> array(4) { [“left”]=> int(848) [“top”]=> int(15) [“width”]=> int(42) [“height”]=> int(18) } [“words”]=> string(9) “送邮件” } [3]=> array(2) { [“location”]=> array(4) { [“left”]=> int(928) [“top”]=> int(14) [“width”]=> int(250) [“height”]=> int(19) } [“words”]=> string(33) “于我们联系我们注册登录” } [4]=> array(2) { [“location”]=> array(4) { [“left”]=> int(456) [“top”]=> int(118) [“width”]=> int(289) [“height”]=> int(27) } [“words”]=> string(40) “我们提供最全的邮件营销资源!” } [5]=> array(2) { [“location”]=> array(4) { [“left”]=> int(487) [“top”]=> int(176) [“width”]=> int(228) [“height”]=> int(26) } [“words”]=> string(31) “开始使用阿迪邮件营销!” } [6]=> array(2) { [“location”]=> array(4) { [“left”]=> int(32) [“top”]=> int(331) [“width”]=> int(129) [“height”]=> int(33) } [“words”]=> string(12) “通道齐全” } [7]=> array(2) { [“location”]=> array(4) { [“left”]=> int(423) [“top”]=> int(331) [“width”]=> int(157) [“height”]=> int(34) } [“words”]=> string(15) “不限制内容” } [8]=> array(2) { [“location”]=> array(4) { [“left”]=> int(811) [“top”]=> int(329) [“width”]=> int(127) [“height”]=> int(39) } [“words”]=> string(12) “离线发送” } [9]=> array(2) { [“location”]=> array(4) { [“left”]=> int(31) [“top”]=> int(374) [“width”]=> int(1140) [“height”]=> int(21) } [“words”]=> string(214) “聚合国内外优秀邮件服务商,给用户提供最全的邮件代发如果客户选择国娃服务商,我们不会对内容进行审查,因系统24小时执行邮件推送服务,无需等待,只要提交了邮” } [10]=> array(2) { [“location”]=> array(4) { [“left”]=> int(30) [“top”]=> int(391) [“width”]=> int(1076) [“height”]=> int(26) } [“words”]=> string(195) “服务。只要通过我们,就能使用 Railgun、 Sendmall百为都走国外的邮件服务通道。相比其他服务商,我们坚持件内容,我们系统自动帮你推送到收件人手里!” } [11]=> array(2) { [“location”]=> array(4) { [“left”]=> int(33) [“top”]=> int(410) [“width”]=> int(721) [“height”]=> int(23) } [“words”]=> string(143) “度简单邮件等国内外的邮件群发服务,无缝发送到世界各做好买水人的角色,不啊参与、干预用户的发送内容。” } }
好了,赶紧去注册个账号,测试下百度ocr文字识别的功能吧!
本人博客地址:PHP:基于百度大脑api实现OCR文字识别
PHP:基于百度大脑api实现OCR文字识别的更多相关文章
- 华为云OCR文字识别 免费在线体验!
嘿,华为云OCR文字识别了解一下,免费在线体验! 物流行业快速提取运单信息.医疗/保险行业单据快速录入.政务办事人证检验,你知道这些都是如何实现的么? 答案就是:OCR文字识别! 作为AI时代效率倍增 ...
- 百度Ocr文字识别
简述 最近开发一个项目需要用到Ocr文字识别技术来识别手写文字,在评估过程中体验了百度的文字识别和腾讯的文字识别.查找官方开发文档,发现它们都有印刷体和手写体两种符合项目需求的识别模式,但是腾讯的手写 ...
- 百度OCR 文字识别 Android安全校验
百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式 ...
- 百度OCR文字识别-Android安全校验
本文转载自好基友upuptop:https://blog.csdn.net/pyfysf/article/details/86438769 效果图: 如下为文章正文: 百度OCR接口使用总结:之前总结 ...
- 小白学Python——用 百度AI 实现 OCR 文字识别
百度AI功能还是很强大的,百度AI开放平台真的是测试接口的天堂,免费接口很多,当然有量的限制,但个人使用是完全够用的,什么人脸识别.MQTT服务器.语音识别等等,应有尽有. 看看OCR识别免费的量 快 ...
- 基于百度地图api + AngularJS 的入门地图
转载请注明地址:http://www.cnblogs.com/enzozo/p/4368081.html 简介: 此入门地图为简易的“广州大学城”公交寻路地图,采用很少量的AngularJS进行inp ...
- 记录开发基于百度地图API实现在地图上绘制轨迹并拾取轨迹对应经纬度的工具说明
前言: 最近一直在做数据可视化方面的工作,其中平面可视化没什么难度,毕竟已经有很多成熟的可供使用的框架,比如百度的echart.js,highcharts.js等.还有就是3D可视化了,整体来说难度也 ...
- OCR文字识别笔记总结
OCR的全称是Optical Character Recognition,光学字符识别技术.目前应用于各个领域方向,甚至这些应用就在我们的身边,比如身份证的识别,交通路牌的识别,车牌的自动识别等等.本 ...
- 云+社区分享——腾讯云OCR文字识别
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云+社区运营团队发布在腾讯云+社区 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识 ...
随机推荐
- StudyJams学习历程总结
Study Jams 是一个学习 Google 在线课程的活动.该活动由学员自发组建课程学习小组,旨在带领小组成员入门 Android 开发,最终将 Android App 上载至 Google Pl ...
- 20. Valid Parentheses - 括号匹配验证
Description: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determin ...
- ECMAScript6-解构
▓▓▓▓▓▓ 大致介绍 解构:就是将声明的一组变量和与相同结构的数组或者对象的元素数值一一对应,并将变量相对应元素进行赋值 ▓▓▓▓▓▓ 数组解构 例子: let [a,b,c] = [1,2,3]; ...
- 关于JavaScript中连等赋值那点事
今天看了前端网上关于JS的题目,其中有一道题目挺有意思的.如下 var a = b =10; (function(){ var a = b = 20; })(); console.log(a); co ...
- java学习常遇问题及解决方案
eclipse中的项目运行时不出现run as→java application选项? 解决方案☞必须有正确的主方法,即public static void main(String[]args){}
- 自动生成并导出word文档
今天很荣幸又破解一现实难题:自动生成并导出word文档 先看页面效果: word效果: 代码: 先搭建struts2项目 创建action,并在struts.xml完成注册 <?xml vers ...
- Python之路-Linux命令基础(3)
作业一: 1)将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) 2)将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加) 3)将/1.txt./2 ...
- 老李分享:接电话扩展之uiautomator 1
老李分享:接电话扩展之uiautomator poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq ...
- CSS3选择器~一看吓一跳,这么多不会
复习CSS时发现很多选择器不会,因为平时很少用到.现在干脆一不做二不修,全部温习一遍.本文参考http://css.doyoe.com/. 一.元素选择器 图片来自:http://css.doyoe. ...
- Java ---自定义标签
本篇文章介绍自定义标签,可能在工作中很少涉及到自己来定义一个标签库,因为我们基本上都是使用的大神写的标签库,基本上直接使用即可,但是从自身的发展来看,通往高级程序员的道路上,开发框架就需要大 ...