按键精灵安卓版ocr只能自己制作字库,准确率实在是低,而且对于大量汉字的识别没有办法
按键精灵通过调用百度识别ocr可以实现快速准确的识别汉字
首先需要注册百度开放ai账号
选择文字识别,创建应用
应用名称,类型,描述随便写,包名不需要
创建之后记住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