文字识别

描述:

解析手机屏幕上指定范围的文字,该函数依赖uploadTessData指定的traineddata文件。

对应JS API:

var device = Device.getMain();
device.analyzeText(x1, y1, x2, y2, lang, mode);
是否支持多设备:

不支持

请求方式:

GET
http://IP:8090/TotalControl/v1/devices/:device/screen/texts

参数:
参数名 类型 必选 描述
token string Y Total Control TOKEN
:device string Y 主控设备对象值 id
rect string Y 屏幕搜索区域左上、右下坐标
lang string Y 要搜索指定区域文字对应的语言。
注意:
要查找文字,首先需要下载 TrainedData 文件,点击下载TrainedData文件。
TrainedData 的文件名一定为{lang}.traineddata。如中文简体是 chi_sim.traineddata;英语是 eng.traineddata,根据需要,你可以下载你想要的 traineddata 文件。
然后就是上传 traineddata 文件,假如你下载的是 chi_sim.traineddata,你就将这个文件上传到手机 Total Control 的安装目录下,例如:/sdcard/Total Control/tesseract/tessdata/
或者,你通过 JS API “uploadTessData(fileName)” 上传这个文件。例如:

//获取当前设备对象
var device = Device.getMain();
// 上传traineddata文件,这里的路径为traineddata文件在当前PC上的存储位置。
var ret = device.uploadTessData("E:\\sigmaTC\\orc\\chi_sim.traineddata"); 

		
mode string Y 搜索模式,有以下几种模式:
singleline: 要找的字大小相同,并且在同一行以内。
multiline: 要找的字大小相同,并且整齐排列在多行中。这个参数相当耗时,建议少用。
singlechar:单个字母,不知道支持中文否......
singleword: 单个单词
singlecolumn: 要找的字大小相同,并且在同一列中
multicolumn: 要找的字大小相同,并且分布在多列中
number: 阿拉伯数字
noorder: 一堆杂乱的字
请求示例:

http://127.0.0.1:8090/TotalControl/v1/devices/device@1116106541/screen/texts?token=270eq7lXQK8bXYsJ&rect=[100,200,300,400]&lang=eng&mode=singleline
返回示例:

{
    "status":true,
    "value":"text"
}
返回字段说明:
字段 类型 描述
status boolean true:成功; false:失败
value string 返回数据