点阵字库
from ascript.android.screen import OcrX
对特殊图像(如游戏数字、定制字体)制作点阵字库进行识别。
使用场景
- 游戏中识别特殊字体的数字(金币、血量、倒计时等)
- OCR 引擎无法识别的定制字体/艺术字
- 需要 100% 准确率的固定位置数字读取
- 像素风格游戏中的文字/数字识别
适用场景
点阵字库适合小范围精确识别(如血量、金币、倒计时等固定位置数字),不适合全屏检索。
查找文字
给定字库文件,从屏幕中识别匹配的文字。
- 函数
OcrX.find_all(font_lib, rect=None, region=0.9)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| font_lib | str | 是 | 字库文件路径 |
| rect | list | 否 | 识别范围 [x, y, x1, y1] |
| region | float | 否 | 识别精度 0-1,默认 0.9(90%) |
- 返回值
识别到的文字列表
- 示例
from ascript.android.system import R
from ascript.android.screen import OcrX
res = OcrX.find_all(R.res("font.t"), rect=[90, 529, 343, 612])
if res:
print(res[0])
也可以通过 Ocr.matrix() 调用
Ocr.matrix() 是点阵字库的便捷入口,直接返回识别到的文字字符串:
from ascript.android.screen import Ocr
from ascript.android.system import R
text = Ocr.matrix(R.res("font.t"), rect=[90, 529, 343, 612])
print(text)
如何制作字库?
制作字库用到了图色工具中的点阵识字
- 打开图色助手并点击点阵字库
- 框选要制作的文字区域
- 按住键盘 1-9 取色,直到右侧出现字的二值图像
- 选择要存放字库的工程和文件名称(默认
font.t,存放在工程res/目录下) - 填写文字代号(如 "0"、"1"、"金币" 等)
- 点击保存字体到字库
制作多个文字会自动追加到同一个字库文件末尾。
