Skip to main content

点阵字库

from ascript.android.screen import OcrX

对特殊图像(如游戏数字、定制字体)制作点阵字库进行识别。

使用场景
  • 游戏中识别特殊字体的数字(金币、血量、倒计时等)
  • OCR 引擎无法识别的定制字体/艺术字
  • 需要 100% 准确率的固定位置数字读取
  • 像素风格游戏中的文字/数字识别
适用场景

点阵字库适合小范围精确识别(如血量、金币、倒计时等固定位置数字),不适合全屏检索。

查找文字

给定字库文件,从屏幕中识别匹配的文字。

  • 函数
OcrX.find_all(font_lib, rect=None, region=0.9)
  • 参数
参数类型是否必填说明
font_libstr字库文件路径
rectlist识别范围 [x, y, x1, y1]
regionfloat识别精度 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. 打开图色助手并点击点阵字库
  2. 框选要制作的文字区域
  3. 按住键盘 1-9 取色,直到右侧出现字的二值图像
  4. 选择要存放字库的工程和文件名称(默认 font.t,存放在工程 res/ 目录下)
  5. 填写文字代号(如 "0"、"1"、"金币" 等)
  6. 点击保存字体到字库

制作多个文字会自动追加到同一个字库文件末尾。