一.开始】、

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  goupParametergoupParameter = "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, 1680
ocrJson = 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,posturlparameter = "checkJson=" & checkJsonData & "&appName=" & appNameposturl = "https://www.?.com/?/?"Dim  returnData,wetherGoOnRunURL.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<serverArray.length();i++){weatherPostNikeNameError=0;tempValueJsonobject=serverArray.getJSONObject(i);//审核中的id,已遍历出来checkId=tempValueJsonobject.getString("weixinNumber");id=tempValueJsonobject.getString("id");publisher=tempValueJsonobject.getString("publisher");if(parameterArray==null){parameterArray=new JSONArray(ocrStrValue);for(int t=0;t<10;t++){JSONObject singlexxxx= parameterArray.getJSONObject(0);String dltTxtxxx=singlexxxx.getString("text").replace(" ", "");if (!dltTxtxxx.contains("用户")){parameterArray.remove(0); }else{break;}} //最后一个成员移除for(int k=0;k<10;k++){JSONObject singlexx= parameterArray.getJSONObject(parameterArray.length()-1);String dltTxt=singlexx.getString("text").replace(" ", "");if (dltTxt.contains("奖励")){break;}else{parameterArray.remove(parameterArray.length()-1);}}tempSaveObject=new JSONObject();String checkIdgroup="";String monery="";for(int j=1;j<parameterArray.length();j++){singleObjet=parameterArray.getJSONObject(j-1);String text=singleObjet.getString("text").replace(" ", "");if(j%4!=0){ if(text.contains("已到账")&&!text.contains("今日")){monery=text.replace("已到账", "").replace("元", ""); } else{checkIdgroup=checkIdgroup+text;}}else{if(text.contains("已到账")&&!text.contains("今日")){monery=text.replace("已到账", "").replace("元", "");  } else{checkIdgroup=checkIdgroup+text;}tempSaveObject.put("checkId",checkIdgroup );  tempSaveObject.put("monery", monery);  shareArray.put(tempSaveObject);tempSaveObject=new JSONObject();checkIdgroup="";monery="";}}}taskTitle=tempValueJsonobject.getString("taskTitle");addTotalScore="0";for(int j=0;j<shareArray.length();j++){tempSaveObject=shareArray.getJSONObject(j);shareStr=tempSaveObject.getString("checkId");if(shareStr.contains(checkId)){weatherPostNikeNameError=1;//数据库记录用户获得的总共奖励double rewardJiangliTotalMonery= Double.valueOf(tempValueJsonobject.getString("rewardJiangliTotalMonery"));//截图数据显示当前奖励的总数double jieTumonery=Double.valueOf(tempSaveObject.getString("monery"));if(rewardJiangliTotalMonery==0 && jieTumonery>=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);}}}

本人做的一款androidApp, 下载量已经有2000多万,各种当前热门的网络手机奖励红包全部集成,另外还有热门电影和淘宝高额优惠券!很适合各类型的用户。

 

转载于:https://www.cnblogs.com/xiaoliao/p/10798584.html

有道智云OCR图片识别文字+返回数据处理技巧(实现语言-按键精灵脚本请求识别+java服务端处理数据)...相关推荐

  1. 有道智云OCR图片识别文字+返回数据处理技巧(实现语言-按键精灵脚本请求识别+java服务端处理数据)

    一.[开始] 1.按键精灵android手机脚本 1.1.截取手机上指定范围内的图片,通过api上传到有道智云处理后返回识别后的JSON格式数据. 1.2.代码 Import "ShanHa ...

  2. 阿里云 OCR 图片文字识别接口使用案例(java)

    阿里云 OCR 图片文字识别接口使用案例(java) 阿里云官方接口文档 前期需要完成 购买阿里云服务 购买服务 可以购买测试服务.每个阿里云用户可以购买1次免费的500次接口请求进行测试 购买完成之 ...

  3. 阿里云OCR图片识别

    阿里云OCR图片识别 请求参数(Body) 请求示例(java) 正常返回示例 错误码定义 阿里云OCR图片识别: 单字识别,表格识别,旋转功能 准备条件:阿里云OCR图片识别API购买,初次购买1分 ...

  4. 完全离线的OCR图片转文字识别工具Umi-OCR

    OCR图片转文字识别软件,完全离线.截屏/批量导入图片,支持多国语言.合并段落.竖排文字.可排除水印区域,提取干净的文本.基于 PaddleOCR . 免费:本项目所有代码开源,完全免费. 方便:解压 ...

  5. swagger 返回json字符串_[Swagger] Swagger Codegen 高效开发客户端对接服务端代码

    [Swagger] Swagger Codegen 高效开发客户端对接服务端代码 @TOC 手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博 ...

  6. 【java图片验证码】Java 服务端生成图片验证码及验证

    Java 服务端生成图片验证码及验证 简介 验证码是防止有人利用机器人自动批量注册.对特定的注册用户用特定程序暴力破解方 式进行不断的登录.灌水.因为验证码是一个混合了数字或符号的图片,人眼看起来都费 ...

  7. Python有道智云API图片文字识别

    有道智云API官网 https://ai.youdao.com/DOCSIRMA/html/%E6%96%87%E5%AD%97%E8%AF%86%E5%88%ABOCR/API%E6%96%87%E ...

  8. python图片转文字easyocr_支持40种语言的图片文字识别(OCR)项目

    Hi!大家好呀!我是你们努力的喵哥! OCR(光学字符识别)是我们日常很常用的人工智能技术.我们总会有从图片中提取文字的需求.你是不是有需要从图片复制文字的经历?手打是最低效的选择.我们可以使用 OC ...

  9. OCR图片转文字两种python方法实现

    图片转文字的两种处理方法: 一种是文字识别工作都需要在网络侧完成的方式,我们称为在线识别: 另一种是不需要互联网功能的,我们称作离线识别. 在线识别方式 先看第一种,在线识别的方式.在线识别方式最大的 ...

  10. 一个可离线使用的OCR图片转文字工具

    偶然间发现了一个图片转文字工具,可以安装为PWA,离线使用,用了一段时间,免费识别无限制,支持中文.中文繁体.英语等语言,识别准确率还好,界面简洁清爽,交互体验流畅,满足了我的所有需求. 网站链接:易 ...

最新文章

  1. 4.IT-解决方案-4-Cluster-Win2K3
  2. VS2008 Tips #004 – 您可以通过“浏览方式…”添加浏览器到 Visual Web Developer
  3. 史上最详细JVM笔记
  4. java case 语句_Java switch case 语句
  5. 两种前端在线json编辑器方案(无法解决number精度丢失问题)
  6. (三)空域图像增强:像素联系和模板运算
  7. 快捷键打开管理员cmd
  8. QT操作word表格——垂直居中、水平居中
  9. 【UI】关于如何画设计稿(基础篇)
  10. implicit declaration of function —— 函数隐式声明 警告
  11. android压力测试命令monkey详解,android压力测试命令monkey详解
  12. 微信营销怎么做,5中常见运作模式解析
  13. Mac air苹果笔记本安装Win10双系统教程(绝对能成功,超详细!)[转]
  14. PIR独立需求计划创建修改_SAP刘梦_新浪博客
  15. java https x509trustmanager,java – 没有X509TrustManager实现可用
  16. python中元组的定义与如何创建元组
  17. C#初学者教程系列1:什么是.NET Framework?
  18. 解读开源中国oschina App(thanatosx版)引导贴
  19. Smb协议实现内网共享目录文件处理及踩坑记录
  20. 三、H.264简介、整体结构、使用的技术

热门文章

  1. PaddleDetection算法分析(7)
  2. python画k线_python下画k线
  3. 2019-03-02 致虚极守静笃 读老子《道德经》有感
  4. win7触摸板怎么关闭_笔记本电脑触摸板快速关闭,避免误碰影响操作
  5. 软件测试的目的、原则及流程
  6. python3.0下载官网_python下载 v3.7.0 官方正式版
  7. 系统论重要模型_笔记
  8. 20 个实例玩转 Java 8 Stream
  9. 为什么canvas画的是正方形是长方形
  10. 优酷KUX视频转换MP4工具,纯个人向分享