apicloud apicloud

注册
查看: 12014|回复: 46

[模块教程] baiduIdentifyOCR 模块使用分享

官方版主

UID:791051

主题:
20
帖子:
21763
云币:
6534

[模块教程] baiduIdentifyOCR 模块使用分享

12014 46 | 发表于 2020-2-7 17:41:19 |阅读模式 | |
本帖最后由 yxWin 于 2020-3-23 11:41 编辑

概述
使用通用文字识别技术,实现拍照文字识别、相册图片文字识别,可应用于搜索、书摘、笔记、翻译等移动应用中,
方便用户进行文本的提取或录入,有效提升产品易用性和用户使用体验


步骤
1、百度开放平台申请账号  有的跳过 然后控制台 点击文字识别 后创建项目
2、配置 config 把控制台的应用信息 配置一下
  1. <feature name="baiduIdentifyOCR">
  2.           <param name="APIKey" value="dggiGNCFd7ZiYd5uyM4QlQS8"/>
  3.           <param name="SecretKey" value="Az0Qy4IWw4L4PX2XpBmvXTSq7WHHvz9S"/>

  4.   </feature>
复制代码
3、同步代码  编译自定义loader 调试
代码展示
  1. <!DOCTYPE html>
  2. <html>

  3. <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
  6.     <title>title</title>
  7.     <link rel="stylesheet" type="text/css" href="../css/api.css" />
  8.     <style>
  9.         body {}

  10.         header {
  11.             width: 100%;
  12.             height: 300px;
  13.             text-align: center;
  14.             margin-top: 270px;
  15.         }

  16.         button {
  17.             padding: 10px;
  18.             margin: 10px;
  19.             background-color: green;
  20.             color: #fff;
  21.             border-radius: 5px;
  22.         }
  23.     </style>
  24. </head>

  25. <body>
  26.     <header>
  27.       <button type="button" name="button" onclick="bdInit()">bdInit</button>
  28.       <button type="button" name="button" onclick="identifyIDFace()">身份证正面</button>
  29.         <button type="button" name="button" onclick="identifyIDBack()">身份证背面</button>
  30.         <button type="button" name="button" onclick="generalBasicOCR()">通用文字识别</button>
  31.         <button type="button" name="button" onclick="bankCardOCROnline()">银行卡正面</button>
  32.         <button type="button" name="button" onclick="trainTiketOCR()">火车票识别(仅Android)</button>
  33.         <button type="button" name="button" onclick="qrCodeOCR()">二维码识别(仅Android)</button>
  34.     </header>
  35. </body>
  36. <script type="text/javascript" src="../script/api.js"></script>
  37. <script type="text/javascript">
  38.     apiready = function() {

  39.     };
  40.     function bdInit() {
  41.       var baiduAd = api.require('baiduIdentifyOCR');
  42.       baiduAd.init(function(ret,err){
  43.           alert(ret);
  44.       });

  45.     }
  46.     function identifyIDFace() {
  47.         var baiduAd = api.require('baiduIdentifyOCR');
  48.         baiduAd.identifyIDFace(function(ret) {
  49.             alert(JSON.stringify(ret));
  50.         });
  51.     }

  52.     function identifyIDBack() {
  53.         var baiduAd = api.require('baiduIdentifyOCR');
  54.         baiduAd.identifyIDBack(function(ret) {
  55.             alert(JSON.stringify(ret));
  56.         });
  57.     }

  58.     function generalBasicOCR() {
  59.         var baiduAd = api.require('baiduIdentifyOCR');
  60.         baiduAd.generalBasicOCR(function(ret) {
  61.             alert(JSON.stringify(ret));
  62.         });
  63.     }

  64.     function bankCardOCROnline() {
  65.         var baiduAd = api.require('baiduIdentifyOCR');
  66.         baiduAd.bankCardOCROnline(function(ret) {
  67.             alert(JSON.stringify(ret));
  68.         });
  69.     }

  70.     function trainTiketOCR() {
  71.         var baiduAd = api.require('baiduIdentifyOCR');
  72.         baiduAd.trainTiketOCR(function(ret) {
  73.             alert(JSON.stringify(ret));
  74.         });
  75.     }

  76.     function qrCodeOCR() {
  77.         var baiduAd = api.require('baiduIdentifyOCR');
  78.         baiduAd.qrCodeOCR(function(ret) {
  79.             alert(JSON.stringify(ret));
  80.         });
  81.     }
  82. </script>

  83. </html>
复制代码

运行截图 展示


本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

官方版主

UID:791051

主题:
20
帖子:
21763
云币:
6534
 楼主| 发表于 2020-5-12 10:16:46 |
本帖最后由 yxWin 于 2020-5-12 10:17 编辑
13466609197 发表于 2020-5-12 07:07
android,身份证返回是字典样子的字符串,请问版主有没有办法改成json或取到各个字段的数据,多谢了

resul ...
  1. var info = {};
  2.   // var main = null;
  3.   // var form = null;
  4.       apiready = function(){
  5.         // main = $api.byId('main');
  6.         // form = $api.byId('form');
  7.       };
  8.       function identifyIDFace() {
  9.           var baiduAd = api.require('baiduIdentifyOCR');
  10.           baiduAd.identifyIDFace(function(ret) {
  11.             if (ret.status) {
  12.               var resultInfo = ret.result.split('front')[1].split('{')[1].split('}')[0].split(',');
  13.               for (var i = 0; i < resultInfo.length; i++) {
  14.                 var str1 = resultInfo[i].split('=')[0];
  15.                 var str2 = resultInfo[i].split('=')[1];
  16.                 info[str1] = str2 ;
  17.               }
  18.               console.log(JSON.stringify( info ));
  19.               // $api.addCls(main, 'istrue');
  20.               // $api.removeCls(form, 'istrue');

  21.             }

  22.           });
  23.       }
复制代码

主题:
2
帖子:
7
云币:
9
发表于 2020-6-6 12:14:31 |
本帖最后由 courtshipnight 于 2020-6-6 12:15 编辑

楼主您好,改json返回的数据 key的前面好像多了个空格 。除了第一个direction能获取到值,后面的都是undefine,有解决办法吗?
{"direction":"0"," wordsResultNumber":"6"," address":"XXXXXXXXXXXX"," idNumber":"123456789798"," birthday":"1321654"," name":"川建国"," gender":"男"," ethnic":"汉"}

" wordsResultNumber":"6" 仔细看看这个wordsResultNumber前面多了个空格

版主

UID:489246

主题:
19
帖子:
3442
云币:
12454
发表于 2020-2-7 20:01:06 |
感谢分享 辛苦了~
app项目开发QQ:897695724

主题:
0
帖子:
36
云币:
15
发表于 2020-2-12 16:52:40 |
感谢分享感谢,学习一下。

主题:
15
帖子:
32
云币:
45
发表于 2020-3-21 21:46:26 |
执行initCameraNative方法报错:"status":false,"msg":"has no init",没有初始化

官方版主

UID:791051

主题:
20
帖子:
21763
云币:
6534
 楼主| 发表于 2020-3-23 09:39:03 |
秦时明月2017 发表于 2020-3-21 21:46
执行initCameraNative方法报错:"status":false,"msg":"has no init",没有初始化

用最新版本 试试

官方版主

UID:791051

主题:
20
帖子:
21763
云币:
6534
 楼主| 发表于 2020-3-23 11:39:36 |
秦时明月2017 发表于 2020-3-21 21:46
执行initCameraNative方法报错:"status":false,"msg":"has no init",没有初始化

这个应该是文档没更新  以前有bug  改了 添加了 init 的接口

官方版主

UID:791051

主题:
20
帖子:
21763
云币:
6534
 楼主| 发表于 2020-3-23 11:42:18 |
秦时明月2017 发表于 2020-3-21 21:46
执行initCameraNative方法报错:"status":false,"msg":"has no init",没有初始化

demo 代码已经更新 了 看一下

主题:
13
帖子:
54
云币:
99
发表于 2020-3-29 17:00:21 |
  1. Uncaught TypeError: Cannot read property 'init' of undefined at setaddressdetail_frame.html : 47
复制代码

咋整?
用的官方loder

官方版主

UID:791051

主题:
20
帖子:
21763
云币:
6534
 楼主| 发表于 2020-3-30 10:25:39 |
用我的 代码试一下

驾校小白

UID:491400

主题:
3
帖子:
24
云币:
200
发表于 2020-3-30 16:43:31 |
请问下,使用这个的时候,我这边init初始化时提示不适配的packname,那在百度申请应用的时候,应用名应该怎么填?如果使用appload调试时,应用名又该怎么填呢?
12345下一页
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表