基于autojs的百度OCR⽂字识别源码,附详细说明
说明
本⽂提供的代码仅供参考。不建议⽤于⽣产环境。
可能有些地⽅在最新版本的Auto.js上⾯需要做修改,才能运⾏。
Auto.js简介
Auto.js是利⽤安卓系统的“辅助功能”实现类似于按键精灵⼀样,可以通过代码模拟⼀系列界⾯动作的辅助⼯作。
与“按键精灵”不同的是,它的模拟动作并不是简单的使⽤在界⾯定坐标点来实现,⽽是类似与win⼀般,窗⼝句柄来实现的。Auto.js使⽤JavaScript作为脚本语⾔,⽬前使⽤Rhino 1.7.7.2作为脚本引擎,⽀持ES5与部分ES6特性。
推荐教程
开发⽂档
⽂档尚在完善中,可能有⽂档描述和代码实际⾏为有出⼊的情况。
为什么要使⽤Auto.js Pro开发脚本,有什么特点?
吸引我使⽤Auto.js Pro的原因有很多。最主要的⼏个原因是:
Auto.js Pro能开发免ROOT的安卓脚本
Auto.js Pro基于节点操作,能开发全分辨率的脚本,⾃动适配各种安卓机型
Auto.js Pro丰富的UI组件,能⾃定义各种样式的安卓界⾯
Auto.js Pro使⽤的javascript的语法⽐较优雅,代码可读性强
Auto.js Pro的命令库⾮常的丰富,接⼝⽐较多
Auto.js Pro脚本⽂件体积⽐较⼩。1000⾏的代码,打包后的apk⽂件只有3-5M,还没有⼴告
⽰例代码
requestScreenCapture();
var img = captureScreen();
var result = BaiDu_ocr(img, true);
log(result.words_result[2]);
//此代码由飞云脚本圈整理提供(www.feiyunjs)
function BaiDu_ocr(img, is位置) {
var imag64 = Base64(img, "png", 100);
//本代码。key值,属于,⼤维万,所有。每天可⽤1000次。
var API_Key = "IMi7uTlPbISgrYCkBnUZxREn";
var Secret_Key = "NRE9cT0SA9qeEyadk7e0wzHH2LHiQTeS";
var getTokenUrl = "aip.baidubce/oauth/2.0/token";
//token获取地址。
var token_Res = http.post(getTokenUrl, {
grant_type: "client_credentials",
client_id: API_Key,
client_secret: Secret_Key,
});
var token = token_Res.body.json().access_token;
var ocrUrl1 = "aip.baidubce/rest/2.0/ocr/v1/general_basic"; //每天可⽤5000次。
//⽂字识别。
var ocrUrl2 = "aip.baidubce/rest/2.0/ocr/v1/general"; //每天可⽤500次。
//含位置信息。
var ocrUrl = ocrUrl1;
if (is位置) {
ocrUrl = ocrUrl2;
};
var ocr_Res = http.post(ocrUrl, {
headers: {
"Content - Type": "application/x-www-form-urlencoded"
},
access_token: token,
image: imag64,
});
var json = ocr_Res.body.json();
/
/log(json);
return json;
};
/*
//token获取⽅法~~~~~~~~~~~~~~~~~~~~~
请求URL数据格式
向授权服务地址aip.baidubce/oauth/2.0/token发送请求(推荐使⽤POST),并在URL中带上以下参数:
grant_type:必须参数,固定为client_credentials;
client_id:必须参数,应⽤的API Key;
client_secret:必须参数,应⽤的Secret Key;
//图⽚⽂字识别⽅法。~~~~~~~~~~~~~~~~~~~~~
请求⽰例
js脚本开发HTTP ⽅法:POST
请求URL: aip.baidubce/rest/2.0/ocr/v1/general_basic
URL参数:
参数值
access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取”
Header如下:
参数值
Content-Type application/x-www-form-urlencoded
Body中放置请求参数,参数详情如下:
请求参数
参数是否必选类型可选值范围说明
image 和url⼆选⼀ string - 图像数据,base64编码后进⾏urlencode,要求base64编码和urlencode后⼤⼩不超过4M,最短边⾄少15px,最长边最⼤4096px,⽀持jpg/png/bmp格式,当image字段存在时url字段失效
url 和image⼆选⼀ string - 图⽚完整URL,URL长度不超过1024字节,URL对应的图⽚base64编码后⼤⼩不超过4M,最短边⾄少15px,最长边最⼤4096px,⽀持jpg/png/bmp格式,当image字段存在时url字段失效,不⽀持https的图⽚链接
language_type false string CHN_ENG、ENG、
POR、FRE、
GER、ITA、
SPA、RUS、
JAP、KOR 识别语⾔类型,默认为CHN_ENG。可选值包括:
- CHN_ENG:中英⽂混合;
- ENG:英⽂;
- POR:葡萄⽛语;
- GER:德语;
- ITA:意⼤利语;
- SPA:西班⽛语;
- RUS:俄语;
- JAP:⽇语;
- KOR:韩语
detect_direction false string true、false 是否检测图像朝向,默认不检测,即:false。朝向是指输⼊图像是正常⽅向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向;
- false:不检测朝向。
detect_language false string true、false 是否检测语⾔,默认不检测。当前⽀持(中⽂、英语、⽇语、韩语)
probability false string true、false 是否返回识别结果中每⼀⾏的置信度
language false int32 当detect_language=true时存在 -1:未知、0:英⽂、1:⽇⽂、2:韩⽂、3:中⽂
请求代码⽰例
请参考通⽤⽂字识别(含位置信息版)的代码内容,并更换请求地址。
返回说明
返回参数
字段是否必选类型说明
direction 否 int32 图像⽅向,当detect_direction=true时存在。
- -1:未定义,
- 0:正向,
- 1: 逆时针90度,
- 2:逆时针180度,
- 3:逆时针270度
log_id 是 uint64 唯⼀的log id,⽤于问题定位
words_result 是 array() 识别结果数组
words_result_num 是 uint32 识别结果数,表⽰words_result的元素个数
+words 否 string 识别结果字符串
probability 否 object 识别结果中每⼀⾏的置信度值,包含average:⾏置信度平均值,variance:⾏置信度⽅差,min:⾏置信度最⼩值
返回⽰例
HTTP/1.1 200 OK
x-bce-request-id: 73c4e74c-3101-4a00-bf44-fe246959c05e
Cache-Control: no-cache
Server: BWS
Date: Tue, 18 Oct 2016 02:21:01 GMT
Content-Type: application/json;charset=UTF-8
{
"log_id": 2471272194,
"words_result_num": 2,
"words_result":
[
{"words": " TSINGTAO"},
{"words": "青島睥酒"}
]
}
*/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。