tesseract - 对图片进行 ocr 识别 (:tess_ocr)

声明

require("image.tess_ocr") -- 需要提前加载
--
识别结果, 结果详情 = 图像:tess_ocr([{
  [lang = 语言,]
  [white_list = 白名单,]
  [black_list = 黑名单,]
}])

参数及返回值

  • 图像
    • 图片对象,当前操作的图片对象
  • 语言
    • 文本型,可选参数,使用的字库名称,默认 "eng"
  • 白名单
    • 文本型,可选参数,只允许展示的白名单,默认 无
  • 黑名单
    • 文本型,可选参数,只过滤的黑名单,默认 ""
  • 识别结果
    • 文本型,返回识别的结果
  • 结果详情 *1.1.3-1 新增
    • 表型,识别结果的每个可见字符的位置描述

说明

tesseract 扩展功能,识别文字 (XXTouch 已内置 eng 识别库 [A-Za-z0-9] 能识别常规英文和数字)
内置 tesseract 引擎版本为 3.02,版本不对或者字库文件损坏会导致 XXTouch 脚本服务崩溃
这里提供适用于 XXTouch 的 tesseract 引擎版本为 3.05 版的 OCR 识别库 tess_ocr_1.2_with_tesseract_3.05.01.zip
白名单参数和黑名单参数不可同时存在
会对对象本身产生影响
性能上,该函数操作过程不产生数据拷贝
如果需要做简体中文或是其它语言文字识别
需要手动导入相关的字库文件到设备的 /var/mobile/Media/1ferver/tessdata/ 目录
这里提供 简体中文字库 (点击下载)
如果想自己进行 tesseract 字库训练可以 百度搜索“tesseract 训练”

示例

require("image.tess_ocr")           -- 需要提前加载
--
text = img:tess_ocr()               -- 默认为 "eng",英文识别
--
text = img:tess_ocr('chi_sim')      -- 简体中文识别
--
text = img:tess_ocr{
    lang = "eng",                   -- 英文字库
    white_list = "0123456789",      -- 白名单
}
--
text = img:tess_ocr{
    lang = "eng",                   -- 英文字库
    black_list = "abcdefghijk",     -- 黑名单
}
--
text = img:tess_ocr{
    lang = "chi_sim",               -- 简体中文字库
    white_list = "0123456789.元",    -- 白名单
}

results matching ""

    No results matching ""