博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有道智云OCR图片识别文字+返回数据处理技巧(实现语言-按键精灵脚本请求识别+java服务端处理数据)...
阅读量:6945 次
发布时间:2019-06-27

本文共 11013 字,大约阅读时间需要 36 分钟。

一.【开始】

1.按键精灵android手机脚本  1.1.截取手机上指定范围内的图片,通过api上传到有道智云处理后返回识别后的JSON格式数据。  1.2.代码复制代码
Import "ShanHai.lua"  //公用该方法 Function wangyiOcrDiscern(imagePath)    Dim appKey,img,langType,detectType,imageType,salt,docType,sign,appsecret     appsecret="应用程序key"    appKey = "应用程序秘钥'"    Dim time_stamp = Time()    salt = Encode.Md5(CStr(time_stamp))    img = Replace(ShanHai.ReadFileBase(imagePath), """", "")    langType = "zh-en"    detectType = "10012"    imageType = "1"    sign = Encode.Md5(appKey & img & salt & appsecret)    Dim  goupParameter    goupParameter = "img=" & ShanHai.CharToUrl(img) & "&" & "langType=" & ShanHai.CharToUrl(langType) & "&" & "detectType=" & ShanHai.CharToUrl(detectType) & "&" & "imageType=" & ShanHai.CharToUrl(imageType) & "&" & "appKey=" & ShanHai.CharToUrl(appKey) & "&" & "salt=" & ShanHai.CharToUrl(salt) & "&" & "sign=" & ShanHai.CharToUrl(sign) & "&" & "docType=" & ShanHai.CharToUrl(docType)    wangyiOcrDiscern = URL.Post("http://openapi.youdao.com/ocrapi", goupParameter)    End Function复制代码
//调用部分代码Dir.Delete ("/storage/emulated/0/ocr.jpg")SnapShot "/storage/emulated/0/ocr.jpg", 166, 215, 597, 1680ocrJson = wangyiOcrDiscern("/storage/emulated/0/ocr.jpg")ocrJson = UTF8.Mid(ocrJson, charPostion + 8, Len(ocrJson))    ocrJson = "[" & Replace(ocrJson, "}]}}", "")通过上面的处理得到的ocrJson是一个 JSONArray数组字符串,里面每个成员都为字典JSONObject复制代码
//将数据传给java处理,这里为什么不直接给按键精灵处理了,首先按键处理数据的能力不能和java比,然后是这些数据都是要往服务器里走的。Function shareHttpRequest(checkJsonData,appName)  Dim parameter,posturl  parameter = "checkJson=" & checkJsonData & "&appName=" &   appName  posturl = "https://www.?.com/?/?"  Dim  returnData,wetherGoOnRun  URL.Post(posturl,parameter)End Function复制代码

2.java服务端脚本

2.1. 接受从按键来的数据后,进行一系列的规范处理,然后入数据库。 2.2.代码(由于下面处理数据部分代码太多就不一一说了,不明白的可以问我)复制代码
else if(appName.contains("?"))                          {                           shareArray=new JSONArray();                          int weatherPostNikeNameError=0;                           for(int i=0;i
=1) { addTotalScore=tempValueJsonobject.getString("addTotalScore"); } //截图显示的金钱数 //已经奖励的金钱数量 if(jieTumonery>1 && rewardJiangliTotalMonery>1) { double againJiangliMonery=jieTumonery-rewardJiangliTotalMonery; sharemal = new BigDecimal(againJiangliMonery ); againJiangliMonery= sharemal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); if (againJiangliMonery>=1) { addTotalScore=String.valueOf(againJiangliMonery*0.5); } } if(addTotalScore.contains(".")) { addTotalScore=addTotalScore+"0"; } if(!addTotalScore.equals("0"))//获得奖励,给用户增加金钱 { userAccount=tempValueJsonobject.getString("account"); mysqlParameter=new String[]{ addTotalScore,addTotalScore,userAccount}; helper.executeUpdate("update ? set score=score+?,xiajiReturnScore=xiajiReturnScore+? where account=?",mysqlParameter); mysqlParameter=new String[]{userAccount}; JSONArray TempShareArray=helper.executeQueryT("select * from ? where account=?", mysqlParameter); singleObjet=TempShareArray.getJSONObject(0); String Master=singleObjet.getString("masterAccount"); if(!Master.equals("666")&& !Master.equals("13983918071")) { try{ mysqlParameter=new String[]{Master}; TempShareArray=helper.executeQueryT("select * from userSheet where account=?", mysqlParameter); singleObjet=TempShareArray.getJSONObject(0); masterType=singleObjet.getString("userType"); if(masterType.equals("铜牌")) { singleObjet= AAAAYulebaoShareSingleton.getInstance().member_calss_sheet.getJSONObject(0); } else if(masterType.equals("银牌")) { singleObjet= AAAAYulebaoShareSingleton.getInstance().member_calss_sheet.getJSONObject(1); } else//金牌 { singleObjet= AAAAYulebaoShareSingleton.getInstance().member_calss_sheet.getJSONObject(2); } masteraddMonery=singleObjet.getString("fandian"); }catch(Exception e){ masteraddMonery="0.1"; } mysqlParameter=new String[] {masteraddMonery,masteraddMonery,Master}; helper.executeUpdate("update userSheet set score=score+?,messageCount=messageCount+1,xiajiReturnScore=xiajiReturnScore+? where account=? and score>=0", mysqlParameter); mysqlParameter=null; mysqlParameter=new String[]{
"下级返点", "好友"+userAccount+"完成"+taskTitle+"任务,你获得"+masteraddMonery+"元",NowData,Master,"1"}; helper.executeUpdate("insert into ?(title,content,datatime,account,infoType) values (?,?,?,?,?)", mysqlParameter); } mysqlParameter=new String[]{
"任务奖励", taskTitle+"app任务再次完成,获得"+addTotalScore+"宝币",NowData,userAccount}; helper.executeUpdate("insert into ?(title,content,datatime,account) values (?,?,?,?)", mysqlParameter); String subId; if(userAccount.length()==11) { subId=userAccount.substring(0, 3)+"******"+userAccount.substring(9); } else if(userAccount.length()==8) { subId=userAccount.substring(0, 3)+"******"+userAccount.substring(6); } else { userAccount="13983918071"; subId=userAccount.substring(0, 3)+"******"+userAccount.substring(9); } mysqlParameter=new String[]{
"已完成",tempSaveObject.getString("monery"),id,publisher}; helper.executeUpdate("update ? set taskState=?,rewardJiangliTotalMonery=?,taskRecordTimes=taskRecordTimes+1 where id=? and publisher=?",mysqlParameter); String lunboinfo="恭喜"+subId+taskTitle+"任务再次完成,获得"+addTotalScore+"元"; JSONArray singleArray=AAAAYulebaoShareSingleton.getInstance().homePageSessionDictionary.getJSONArray("lunboinfoSheet"); singleArray.put(lunboinfo); if(singleArray.length()>5) { singleArray.remove(0); } AAAAYulebaoShareSingleton.getInstance().homePageSessionDictionary.put("lunboinfoSheet", singleArray); singleArray=null; lunboinfo=null; singleObjet=null;masterType=null; } else//审核失败 { mysqlParameter=new String[]{
"进行中","任务失败,?",id}; helper.executeUpdate("update ? set taskState=?,finishTime=? where id=?",mysqlParameter); } } } ```复制代码

转载地址:http://tmonl.baihongyu.com/

你可能感兴趣的文章
史上最全的机器学习资料(下)
查看>>
#SORA#celery原生配置文件研究
查看>>
python 详解re模块
查看>>
程序员之路——一个老程序员对刚上大学的学弟学妹的忠告
查看>>
oninput & onpropertychange 实现监听input的键盘事件
查看>>
famous
查看>>
PHP加密扩展 (php-beast) 1.5版本 常见问题解答
查看>>
C++ primer(笔记更新中)
查看>>
CNPM搭建私有的NPM服务
查看>>
centos6网卡自动启动设置
查看>>
Python各种流程语句
查看>>
any-enter是亮点
查看>>
Web压力测试记录
查看>>
Vmware Player端口映射(NAT)
查看>>
seci-log 1.12 发布 增加了http 旁路抓包审计
查看>>
MongoDB入门学习记录一:基本使用
查看>>
ios 面试总结
查看>>
对于舞蹈的认识与评价
查看>>
Neo4j的Rest接口使用
查看>>
linux下nginx安装
查看>>