按键精灵 安卓版 快速ocr识别

按键精灵安卓版ocr只能自己制作字库,准确率实在是低,而且对于大量汉字的识别没有办法

按键精灵通过调用百度识别ocr可以实现快速准确的识别汉字

首先需要注册百度开放ai账号

https://ai.baidu.com/

选择文字识别,创建应用

应用名称,类型,描述随便写,包名不需要

创建之后记住API Key和Secret Key,一会要用

 浏览器访问

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【百度云应用的API Key】&client_secret=【百度云应用的Secret Key】
得到 access_token

然后就可以使用了,下面是示例代码

Function 百度识别(x,y,z,w)//x,y,z,w为利用按键精灵抓抓获取的范围
Import "ShanHai.lua"
Import "Cjson.lua"
Delay 1000
SnapShot "/sdcard/test.png",x,y,z,w//保存范围截图
Dim bs64,urlcode
bs64 = ShanHai.ReadFileBase("/sdcard/test.png")//先进行base64转码
urlcode=ShanHai.CharToUrl(bs64)//再进行urlcode转码
Dim 请求地址,Post数据,返回值,token,table//下面构造post
token="111111111111111111111111111111111111111111111"//这个就是accesstoken
请求地址 ="https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?"//注意最后有一个问号
Post数据 = "access_token=" & token & "&image=" & urlcode

返回值 = URL.Post(请求地址, Post数据)//返回值是json
TracePrint 返回值
table = Cjson.Decode(返回值)//转换为键表

If IsNull(table["words_result"][1]) = False Then //如果结果不为空,程序返回识别结果
百度识别 = table["words_result"][1]["words"]
End If

End Function

 有时候会存在失败情况,主要原因可能是截图问题,建议截图前加入延时

猜你喜欢

转载自www.cnblogs.com/hfutzj/p/12330026.html
今日推荐