• 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文字识别

  • 相关阅读:
    HTTP 03 HTTP 报文头
    HTTP 02 HTTP1.1 协议
    HTML 01 请求过程
    Java_异常_04_ OutOfMemoryError系列
    mq_学习_01_消息中间件的概述
    mq_学习_00_资源帖
    Java钉钉开发_异常_01_error code:50002, error message:请求的员工userid不在授权范围内
    Java_JS_01_java调用js
    JavaUtil_09_email_使用 commons-email 发送邮件
    JavaUtil_08_StringUtil_commons-lang3 之 StringUtils
  • 原文地址:https://www.cnblogs.com/jianqingwang/p/6825463.html
Copyright © 2020-2023  润新知