700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > AUTOJS利用百度OCR识别找字点击 详细代码

AUTOJS利用百度OCR识别找字点击 详细代码

时间:2020-10-27 13:15:32

相关推荐

AUTOJS利用百度OCR识别找字点击 详细代码

//此段代码要先在百度智能云上注册并开通百度OCR文字识别,开通方法请自行百度//https://login./?account=&redirect=http%3A%2F%2Fconsole.%2F#/index/overview//首先获取百度的tokenvar token = baidu_access_Token()/*** @function baidu_access_Token 获取百度Access_Token的函数*/function baidu_access_Token() {//注册百度云识别时给的,可以登录百度智能云在创建应用里面查看到。var API_Key = "zcftgkhLUernYU3upuSgxG"//注册百度云识别时给的,可以登录百度智能云在创建应用里面查看到。var Secret_Key = "poexZNpZWNUNFcVpocBNPk8vWBidET";//access_token获取地址,向授权服务地址/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数://access_token = http.get("/oauth/2.0/token?grant_type=client_credentials&client_id=YIKKfQbdpYRRYtqqTPnZ5bCE&client_secret=hBxFiPhOCn6G9GH0sHoL0kTwfrCtndDj").body.json().access_token;var 提交地址 = "/oauth/2.0/token"var token_Res = http.post(提交地址, {grant_type: "client_credentials",client_id: API_Key,client_secret: Secret_Key,});var token = token_Res.body.json().access_token// log(token_Res) // log(token)return token}//找字点击//log(BaiDu_Ocr_Click("中"))/*** @function BaiDu_Ocr_Click 点击百度识别的文字,点击成功返回true,失败返回false.* @param str 要点击的文字。*/function BaiDu_Ocr_Click(str){var isClick=false//我这个利用模拟器在测试,因为AUTOJS的截图在模拟器上老出错所有改用Shell截图var a = shell("screencap -p /sdcard/Download/screen.png", true);//读取图片var img = images.read("/sdcard/Download/screen.png")//转化成基于64的图片var imag64 = images.toBase64(img, "png", 100); var SiteInfo_ocr_Url = "/rest/2.0/ocr/v1/general"; //含位置信息,每天可用500次。var ocr_Res = http.post(SiteInfo_ocr_Url, {headers: {"Content - Type": "application/x-www-form-urlencoded" //连接的请求方式,一般是'content-type': 'application/json',},access_token: token,image: imag64,})var json = ocr_Res.body.json().words_result;json.forEach(function(w){//log(w.words)if (w.words.indexOf(str) != -1) {// if (w.words==str){log(w.words)isClick = click(w.location.left, w.location.top); //点击指定的文字return}})return isClick}//查找文字log(BaiDu_Ocr_FindWord("基本"))/*** @function BaiDu_Ocr_FindWord 百度识别查找文字,找到返回true,失败返回false.* @param str 要查找的文字。*/function BaiDu_Ocr_FindWord(str){var isClick=false//我这个利用模拟器在测试,因为AUTOJS的截图在模拟器上老出错所有改用Shell截图var a = shell("screencap -p /sdcard/Download/screen.png", true);//读取图片var img = images.read("/sdcard/Download/screen.png")//转化成基于64的图片var imag64 = images.toBase64(img, "png", 100); var Common_Ocr_Url = "/rest/2.0/ocr/v1/general_basic"; //普通文字识别,每天可用5000次。var ocr_Res = http.post(Common_Ocr_Url, {headers: {"Content - Type": "application/x-www-form-urlencoded" //连接的请求方式,一般是'content-type': 'application/json',},access_token: token,image: imag64,})var json = ocr_Res.body.json().words_result;json.forEach(function(w){//log(w.words)if (w.words.indexOf(str) != -1) {log(w.words)//如果找到了就返回isClick=truereturn}})return isClick}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。