屏幕区域文字识别 (screen.ocr_text)
声明
识别结果, 结果详情 = screen.ocr_text(左, 上, 右, 下 [, 结果范围, 二值化选项 ])
参数及返回值
- 左, 上, 右, 下
- 整数型,代表识别区域
- 结果范围
- 可以是 文本型 或 表型 参数
- 详情可参考 对图片进行 ocr 识别
- 二值化选项 *1.1.0-1 新增
- 识别结果
- 文本型,识别返回的文字
- 结果详情 *1.1.3-1 新增
- 表型,识别结果的每个可见字符的位置描述
说明
识别屏幕区域上的文字,该函数会引用 image.tess_ocr 模块
1.1新增iOS 内置的 Vision.framework 支持的 OCR,具体见更新日志
示例
-- 示例 1:
local txt = screen.ocr_text(187, 882, 298, 914) -- 默认配置是使用英文数字模式识别文字
sys.toast("识别结果:"..txt:atrim())
--
-- 示例 2 (1.1.0-1 新增) :
local txt = screen.ocr_text(465, 241, 505, 269, "eng", "9D5D39-0F1F26,D3D3D2-2C2C2D") -- 使用色偏二值化识别
sys.toast("识别结果:"..txt:atrim())
--
-- 示例 3 (1.1.0-1 新增) :
local txt = screen.ocr_text(465, 241, 505, 269, "eng", { {0x9D5D39, 0x0F1F26}, {0xD3D3D2, 0x2C2C2D} }) -- 使用色偏二值化识别,同上
sys.toast("识别结果:"..txt:atrim())
--
-- 示例 4:
local txt = screen.ocr_text(187, 882, 298, 914, {
lang = "eng",
white_list = "1234567890", -- 自定义使用白名单限制仅识别为数字
})
sys.toast("识别结果:"..txt:atrim())
--
-- 示例 5 (1.1.0-1 新增) :
local txt = screen.ocr_text(187, 882, 298, 914, {
lang = "eng",
white_list = "1234567890", -- 自定义使用白名单限制仅识别为数字
}, "9D5D39-0F1F26,D3D3D2-2C2C2D") -- 使用色偏二值化识别
sys.toast("识别结果:"..txt:atrim())
注:上述代码中使用了非本章函数 sys.toast
、string.atrim