跳到主要内容

OCR 封装

OCR

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

参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
//使用精确模式,识别中文需要此用法,其他用法参考文档
laoleng.EC.initOcr({"level": "accurate"})
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
let ret = ocrNormal()
//范围识别
//let ret = ocrNormal(100, 100, 500, 500)
logd(JSON.stringify(ret))
logd("识别耗时: " + console.timeEnd("1"))
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.initOcr({"level": "accurate"})
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
let ret = ocrText()
//范围识别
//let ret = ocrText(100, 100, 500, 500)
logd("识别耗时: " + console.timeEnd("1"))
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.initOcr({"level": "accurate"})
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
if (ocrFindStr("日历")) {
//范围识别
//if(ocrFindStr("日历", 100, 100, 500, 500)){}
logd("识别耗时: " + console.timeEnd("1"))
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坐标对象

ocrFindStrAll OCR查找所有匹配字符串,模糊匹配

参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
//使用精确模式,识别中文需要此用法,其他用法参考文档
laoleng.EC.initOcr({"level": "accurate"})
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
let ret = ocrFindStrAll("日历")
//范围识别
//let ret = ocrFindStrAll("日历", 100, 100, 500, 500)
logd("识别耗时: " + console.timeEnd("1"))
if (ret) {
for (let i = 0; i < ret.length; i++) {
logd(JSON.stringify(ret[i]))
logd(JSON.stringify(ret[i].label))
}
}
}
//返回值格式[{top: number, left: number, bottom: number, x: number, y: number, right: number, label: String}]
返回值类型说明
[{top: number, left: number, bottom: number, x: number, y: number, right: number, label: String}][Object]坐标对象数组

横屏

ocrNormalByHorizontal OCR普通识别,适配横屏游戏,支持范围识别

提示
  • 防止横屏游戏识别失败
  • 暂时需要引入laolengIOS.jar
参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
laoleng.EC.initOcr("E:/IOS/ios-center-2.1.0/OcrLiteNcnn")
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
let ret = ocrNormalByHorizontal()
//范围识别
//let ret = ocrNormalByHorizontal(100, 100, 500, 500)
logd("识别耗时: " + console.timeEnd("1"))
logd(JSON.stringify(ret))
logd("识别耗时: " + console.timeEnd("1"))
if (ret) {
for (let i = 0; i < ret.length; i++) {
logd(JSON.stringify(ret[i]))
}
}
}
返回值类型说明
JSON对象JSON对象数组识别返回JSON对象数组

ocrTextByHorizontal 识别范围内文本内容,适配横屏游戏

提示
  • 防止横屏游戏识别失败
  • 暂时需要引入laolengIOS.jar
参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
laoleng.EC.initOcr("E:/IOS/ios-center-2.1.0/OcrLiteNcnn")
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
let ret = ocrTextByHorizontal()
//范围识别
//let ret = ocrTextByHorizontal(100, 100, 500, 500)
logd("识别耗时: " + console.timeEnd("1"))
if (ret) {
//遍历结果
for (let i = 0; i < ret.length; i++) {
logd(ret[i])
}
//合并结果
logd(ret.join(""))
}

}
返回值类型说明
日历Array识别到的文本数组

ocrFindStrByHorizontal OCR查找字符串,适配横屏游戏,模糊匹配

提示
  • 防止横屏游戏识别失败
  • 暂时需要引入laolengIOS.jar
  • 参数名必选类型说明
    startXNumber范围起始X坐标,默认0全屏
    startYNumber范围起始Y坐标,默认0全屏
    endXNumber范围结束X坐标,默认0全屏
    endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
laoleng.EC.initOcr("E:/IOS/ios-center-2.1.0/OcrLiteNcnn")
//记得先截图
if (keepScreen()) {
console.time("1")
//全屏识别
if (ocrFindStrByHorizontal("日历")) {
//范围识别
//if(ocrFindStrByHorizontal("日历", 100, 100, 500, 500)){}
logd("识别耗时: " + console.timeEnd("1"))
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坐标对象

ocrFindStrByHorizontalAll OCR查找所有匹配字符串,适配横屏游戏,模糊

提示
  • 防止横屏游戏识别失败
  • 暂时需要引入laolengIOS.jar
参数名必选类型说明
startXNumber范围起始X坐标,默认0全屏
startYNumber范围起始Y坐标,默认0全屏
endXNumber范围结束X坐标,默认0全屏
endXNumber范围结束Y坐标,默认0全屏
laoleng.EC.init()
laoleng.EC.initOcr("E:/IOS/ios-center-2.1.0/OcrLiteNcnn")
//记得先截图
if (keepScreen()) {
console.time("1")
let ret = ocrFindStrByHorizontalAll("日历")
//范围识别
//let ret = ocrFindStrByHorizontalAll("日历", 100, 100, 500, 500)
logd("识别耗时: " + console.timeEnd("1"))
if (ret) {
for (let i = 0; i < ret.length; i++) {
logd(JSON.stringify(ret[i]))
}
}
}
//返回值格式[{top: number, left: number, bottom: number, x: number, y: number, right: number, label: String}]
返回值类型说明
[{top: number, left: number, bottom: number, x: number, y: number, right: number, label: String}][Object]坐标对象数组