OCR 封装
OCR
ocrNormal OCR普通识别,支持范围识别
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
startX | 否 | Number | 范围起始X坐标,默认0全屏 |
startY | 否 | Number | 范围起始Y坐标,默认0全屏 |
endX | 否 | Number | 范围结束X坐标,默认0全屏 |
endX | 否 | Number | 范围结束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 识别范围内文本内容
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
startX | 否 | Number | 范围起始X坐标,默认0全屏 |
startY | 否 | Number | 范围起始Y坐标,默认0全屏 |
endX | 否 | Number | 范围结束X坐标,默认0全屏 |
endX | 否 | Number | 范围结束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查找字符串,模糊匹配
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
startX | 否 | Number | 范围起始X坐标,默认0全屏 |
startY | 否 | Number | 范围起始Y坐标,默认0全屏 |
endX | 否 | Number | 范围结束X坐标,默认0全屏 |
endX | 否 | Number | 范围结束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查找所有匹配字符串,模糊匹配
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
startX | 否 | Number | 范围起始X坐标,默认0全屏 |
startY | 否 | Number | 范围起始Y坐标,默认0全屏 |
endX | 否 | Number | 范围结束X坐标,默认0全屏 |
endX | 否 | Number | 范围结束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
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
startX | 否 | Number | 范围起始X坐标,默认0全屏 |
startY | 否 | Number | 范围起始Y坐标,默认0全屏 |
endX | 否 | Number | 范围结束X坐标,默认0全屏 |
endX | 否 | Number | 范围结束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
参数名 | 必选 | 类 型 | 说明 |
---|---|---|---|
startX | 否 | Number | 范围起始X坐标,默认0全屏 |
startY | 否 | Number | 范围起始Y坐标,默认0全屏 |
endX | 否 | Number | 范围结束X坐标,默认0全屏 |
endX | 否 | Number | 范围结束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
-
参数名 必选 类型 说明 startX 否 Number 范围起始X坐标,默认0全屏 startY 否 Number 范围起始Y坐标,默认0全屏 endX 否 Number 范围结束X坐标,默认0全屏 endX 否 Number 范围结束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 | 坐标对象 |