目的
tc综合脚本开发工具是一种用于Windows平台的自动化测试工具,以及一个功能丰富的集成开发环境(IDE),它使用VBScript编写脚本语言,学习成本高。所以针对于该平台的文字识别插件几乎没有,本篇文章主要讲解下TC综合脚本开发工具PC端纯本地离线文字识别插件如何使用和集成。
准备工作
1、下载TC综合脚本开发工具:TC新官方网站-Windows平台
2、下载纯本地离线文字识别插件:
- 目前插件支持中英文、繁体字、日语、韩语识别;
- 支持小图、区域图和单行文字识别,准确率高达99%;
- 支持多种返回格式,json\文本\数字\自定义;
- 支持二值化;
- 支持找字返回坐标并点击;
- 超高的稳定性,速度快;
- 不联网、不联网、不联网;
插件集成
1、新建项目,并将TomatoOCR.dll文件放到资源目录下:
2、双击TMO.t,打开代码,将下面的代码拷贝进去
注意:如果返回值存在中文,需要使用convertAnsiToUtf8对数据进行转换
// ********************************************************************************
// ********欢迎使用TomatoOCR文字识别插件,加入群【469843332】可获取最新版本!!!**********
// ********************************************************************************
//从这里开始执行
功能 执行()
// 注意:如果返回值存在中文,需要使用convertAnsiToUtf8对数据进行转换
var tmo=获取资源路径("rc:TomatoOCR.dll")
// 初始化
dllcall(tmo,"int","_init@0")
dllcall(tmo,"void","_setRecType@4","char *","japan")
// 注:ch、ch-2.0、ch-3.0版可切换使用,对部分场景可适当调整
// "ch":普通中英文识别,1.0版模型
// "ch-2.0":普通中英文识别,2.0版模型
// "ch-3.0":普通中英文识别,3.0版模型
// "cht":繁体,"japan":日语,"korean":韩语
dllcall(tmo,"void","_setDetBoxType@4","char *","rect")
// 调整检测模型检测文本参数- 默认"rect": 由于手机上截图文本均为矩形文本,从该版本之后均改为rect,"quad":可准确检测倾斜文本
dllcall(tmo,"void","_setDetUnclipRatio@4","float",1.9)
// 调整检测模型检测文本参数 - 默认1.9: 值范围1.6-2.5之间
dllcall(tmo,"void","_setRecScoreThreshold@4","float",0.5)
// 识别得分过滤 - 默认0.1,值范围0.1-0.9之间
dllcall(tmo,"void","_setReturnType@4","char *","text")
// 返回类型 - 默认"json": 包含得分、坐标和文字;
// "text":纯文字;
// "num":纯数字;
// 自定义输入想要返回的文本:".¥1234567890",仅只返回这些内容
dllcall(tmo,"void","_setBinaryThresh@4","int",100)
// 二值化设定,非必须
var type = 3
// type=-1 : 检测 + 方向分类 + 识别
// type=0 : 只检测
// type=1 : 方向分类 + 识别
// type=2 : 只识别
// type=3 : 检测 + 识别
// 只检测文字位置:type=0
// 全屏识别: type=3或者不传type
// 截取单行文字识别:type=1或者type=2
var result = dllcall(tmo,"char *","_ocrFile@8","char *","C:\\Users\\TomatoOCR\\Downloads\\001.jpg", "int", type)
// 返回值存在中文,需要使用convertAnsiToUtf8对数据进行转换
traceprint(result)
var finalResult = dllcall(tmo,"char *","_convertAnsiToUtf8@4","char *",result)
traceprint(finalResult)
结束
其中方法说明:
方法名 | 说明 |
init | 初始化 |
setRecType | 设置识别语言,默认ch-3.0: ch、ch-2.0、ch-3.0版可切换使用,对部分场景可适当调整 |
setDetBoxType | 调整检测模型检测文本参数-,默认"rect": 由于手机上截图文本均为矩形文本,从该版本之后均改为rect,"quad":可准确检测倾斜文本 |
setDetUnclipRatio | 调整检测模型检测文本参数,默认1.9: 值范围1.6-2.5之间,如果文字的检测框太小,可调整改参数,一般往大调整 |
setRecScoreThreshold | 设置识别得分过滤,默认0.1: 值范围0.1-0.9之间 |
setReturnType | 设置返回类型,默认"json",包含得分、坐标和文字; "text":纯文字; "num":纯数字; 自定义输入想要返回的文本:".¥1234567890",仅只返回这些内容 |
setBinaryThresh | 对图片进行二值化处理,非必须 |
ocrFile | 两个参数,图片路径和类型,一般类型传3: type=-1 : 检测 + 方向分类 + 识别 type=0 : 只检测 type=1 : 方向分类 + 识别 type=2 : 只识别(单行识别) type=3 : 检测 + 识别 只检测文字位置:type=0 全屏识别: type=3或者不传type 截取单行文字识别:type=1或者type=2 如果识别为不到时,返回的数据为“”字符串 |
3、运行结果
完毕
相对来说,在TC进行插件适配还是比较方便的,唯一就是中文处理比较麻烦,而且整个识别下来,占用内存也非常的小,仅仅300多M,整体来讲,这个插件还是不错的。