ocr("点击的文字",1)
function ocr(character,cliks){
//log(character)
//auto.waitFor()
//threads.start(function(){
// text("立即开始").findOne().click()})
//requestScreenCapture();
captureScreen("/sdcard/photo.png")
img = images.read("/sdcard/photo.png")
let cpuThreadNum = 7
let useSlim = true
let start = new Date()
result = $ocr.detect(img, cpuThreadNum, useSlim)
//log((new Date() - start) + 'ms')
//toast("完整识别信息(兼容百度OCR格式): " + JSON.stringify(result))
//log(JSON.stringify(result))
var output0=JSON.stringify(result)
output0=output0.replace(/},{/g,"---")
output0=output0.replace(/"/g,"")
output0=output0.replace(/{/g,"")
output0=output0.replace(/}/g,"")
output0=output0.replace("[","")
output0=output0.replace("]","")
output0=output0.replace(/bounds:/g,"")
output0=output0.replace(/confidence:/g,"")
output0=output0.replace(/bottom:/g,"")
output0=output0.replace(/left:/g,"")
output0=output0.replace(/top:/g,"")
output0=output0.replace(/right:/g,"")
output0=output0.replace(/label:/g,"")
//split
var return0=0
//定义return0
var output0split=output0.split("---");
//log(output0split.length)//数组长度
var circulate=0
while(circulate<output0split.length){
//log(cliks)
//594,194,399,537,0.99971837,点击左上角
//bottom:1064,left:191,right:360,top:1008,0.9248534,label:三指下滑
var detail=output0split[circulate].split(",")
//return0=return0+"---"+detail[5]+","+(detail[2]-detail[1])+","+(detail[0]-detail[3])
if(detail[5].search(character)>-1){
return0++
toastLog(cliks)
if(cliks==1){
to=Number(detail[1])
bo=Number(detail[3])
x=(detail[2]-to)/2+to
y=(detail[0]-bo)/2+bo
toastLog(x+("===")+y)
click(x,y)
}
}
circulate++
}
//return0=return0.replace("---","")
//log(return0)
//log(output0split[0])
//log(output0split[1])
//log((new Date() - start) + 'ms')
return return0
// 释放模型 用于释放native内存
$ocr.release()
// 回收图片
img.recycle()
}
autojs免费无限ocr识别点击
最新推荐文章于 2024-08-07 13:49:06 发布
该代码片段展示了如何利用OCR技术检测图像中的文本,并根据特定字符在识别结果中的位置,自动执行点击操作。函数`ocr`接收输入图像,识别出包含指定字符的区域,并计算其坐标以便于模拟点击。
摘要由CSDN通过智能技术生成