千呼万唤始出来——安卓按键2.5版本新增找字功能
看到这个标题的时候大家是不是有点小激动。大家翘首以盼的找字功能终于出现了。在PC按键上有自带的找字功能,也有大漠插件找字,但是在安卓上没法使用大漠插件,要实现识别文字一直都是很头疼,现在安卓按键2.5版本发布了之后就新增了找字的功能。今天就给大家介绍下这个找字功能的使用方法。 |
找字命令以及工具
命令 命令参数 | index 整形数:字库编号 file 字符串:字库文件名 |
命令参数 | x1 整形数:区域的左上X坐标 y1 整形数:区域的左上Y坐标 x2 整形数:区域的右下X坐标 y2 整形数:区域的右下Y坐标 color_format 字符串:颜色格式串. 支持使用偏色,格式是"颜色-偏色"例如"fdfdfd-101010".注意,这里颜色格式是BGR格式 sim 双精度浮点数:相似度,取值范围0.1-1.0
|
命令参数 | x1 整形数:区域的左上X坐标 y1 整形数:区域的左上Y坐标 x2 整形数:区域的右下X坐标 y2 整形数:区域的右下Y坐标 string 字符串:待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 color_format 字符串:颜色格式串. 支持使用偏色,格式是"颜色-偏色"例如"fdfdfd-101010".注意,这里颜色格式是BGR格式 sim 双精度浮点数:相似度,取值范围0.1-1.0 intX 变参指针:返回X坐标没找到返回-1 intY 变参指针:返回Y坐标没找到返回- |
返回值 | 索引值:整形数,返回字符串的索引 没找到返回-1, 比如"长安|洛阳",若找到长安,则返回0,找到洛阳则返回1 |
工具目前制作字库的工具暂时还没有集成到安卓按键上,所以需要借助大漠综合工具来制作字库。
- 您所在的用户组无法下载或查看附件
使用方法
制作字库首先需要先使用大漠工具对要识别的文字制作成字库
1、安卓按键连接上手机,然后打开抓抓工具,点击截屏。把包含要识别的文字的画面截屏下来
2、打开大漠综合工具,点击新建字库按钮,建立一个新的字库文件。
- 您所在的用户组无法下载或查看附件
3、点击大漠工具里的【抓图】按钮,从按键抓抓上把想要识别的文字截图下来(尽量只截取要识别的文字,不要截取多余的部分)
我这里就以识别数字为例子,识别图中上方的数字
- 您所在的用户组无法下载或查看附件
我们需要把这个数字的部分截取下来
- 您所在的用户组无法下载或查看附件
4、点击选择文字的颜色,并且在对应的颜色后面的多选框里打钩(对于杂色比较多的文字,可以适当的加上一些偏色)
5、当在二值化区域里显示的文字较为完成或者清晰的时候,点击提取点阵(多个),把每个文字单独提取成点阵
- 您所在的用户组无法下载或查看附件
6、把识别出来的点阵进行定义,点击右侧列表中的点阵信息,在【定义文字】框里输入你想要定义的文字信息并按回车
- 您所在的用户组无法下载或查看附件
7、全部点阵定义完毕之后,字库就制作完毕了。把生成的字库文件添加到按键助手的附件里即可。
8、编写代码
注意事项:大漠获取到的颜色是RGB格式的,需要转换成BGR格式才能在按键里使用。转换方法:点击大漠工具上的颜色转换按钮,把获取到的文字的颜色复制到转换窗口里,点击转换即可。- 您所在的用户组无法下载或查看附件
- Dim ret,str
- '设置当前字库为0号字库
- ret = SetDict(0, "Attachment:dic_test.txt")
- '如果字库创建失败,则停止脚本
- If ret = 0 Then
- TracePrint "字库创建失败"
- EndScript
- End If
- '使用0号字库
- UseDict (0)
- '用ocr命令识别指定区域内的文字
- Str = Ocr(156, 1, 248, 32, "ffffff-222222", 0)
- TracePrint "识别到的文字为:" & Str
- '使用FindStr命令查找文字的坐标
- FindStr 156, 1, 248, 32, "5|1", "ffffff-222222", 1.0, intX, intY
- If intX > -1 Then
- TracePrint "识别到的文字坐标为:" & intX,intY
- End If
复制代码