跳到主要内容

OCR 文字识别

OCR

ocrNormal OCR普通识别,支持范围识别

参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
laoleng.EC.initImage(true)
//常规初始化,支持3个参数,具体看函数介绍
laoleng.EC.initOcr()
let ret
//记得先截图
if (keepScreen()) {
//全屏识别
ret = ocrNormal()
logd(JSON.stringify(ret))
if (ret) {
for (let i = 0; i < ret.length; i++) {
logd(JSON.stringify(ret[i]))
}
}

//范围识别
ret = ocrNormal(100, 100, 500, 500)
logd(JSON.stringify(ret))
if (ret) {
for (let i = 0; i < ret.length; i++) {
logd(JSON.stringify(ret[i]))
}
}

//切换识别规则,具体查看相应函数介绍
laoleng.ocrConfig.setConfig({"maxSideLen": 1024}, 10 * 1000, 1, 100)
ret = ocrNormal()
logd(JSON.stringify(ret))
if (ret) {
for (let i = 0; i < ret.length; i++) {
logd(JSON.stringify(ret[i]))
}
}
}
返回值类型说明
JSON对象JSON对象数组识别返回JSON对象数组

ocrText 识别范围内文本内容

参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
laoleng.EC.initImage(true)
//常规初始化,支持3个参数,具体看函数介绍
laoleng.EC.initOcr()
let ret
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
ret = ocrText()
logd("识别耗时: " + console.timeEnd("1"))
if (ret) {
//遍历结果
for (let i = 0; i < ret.length; i++) {
logd(ret[i])
}
//合并结果
logd(ret.join(""))
}

//范围识别
ret = ocrText(100, 100, 500, 500)
if (ret) {
//遍历结果
for (let i = 0; i < ret.length; i++) {
logd(ret[i])
}
//合并结果
logd(ret.join(""))
}

//切换识别规则,具体查看相应函数介绍
laoleng.ocrConfig.setConfig({"maxSideLen": 1024}, 10 * 1000, 1, 100)
ret = ocrText()
if (ret) {
//遍历结果
for (let i = 0; i < ret.length; i++) {
logd(ret[i])
}
//合并结果
logd(ret.join(""))
}
}
返回值类型说明
日历Array识别到的文本数组

ocrFindStr OCR查找字符串,模糊匹配

参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
laoleng.EC.initImage(true)
//常规初始化,支持3个参数,具体看函数介绍
laoleng.EC.initOcr()
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
if (ocrFindStr("日历")) {
logd("识别耗时: " + console.timeEnd("1"))
logd(JSON.stringify(gPoint))
clickPoint(gPoint.x, gPoint.y)
sleep(500)
}

//范围识别
if (ocrFindStr("日历", 100, 100, 500, 500)) {
}
logd(JSON.stringify(gPoint))
clickPoint(gPoint.x, gPoint.y)
sleep(500)
}

//切换识别规则,具体查看相应函数介绍
laoleng.ocrConfig.setConfig({"maxSideLen": 1024}, 10 * 1000, 1, 100)
if (ocrFindStr("日历")) {
logd(JSON.stringify(gPoint))
clickPoint(gPoint.x, gPoint.y)
sleep(500)
}

//返回值格式gPoint = {x: -1, y: -1, top: -1, left: -1, bottom: -1, right: -1, label: ""}
返回值类型说明
{x: -1, y: -1, top: -1, left: -1, bottom: -1, right: -1, label: ""}Object坐标对象