• 图文识别《一》


    背景:开发定位测试环境或生产环境问题时需要登录云桌面,经常需要从云桌面中复制一些东西到本地,但是云桌面中的东西复制不出来,例如:24位的工单流水号,参数名称等等。。。这时就很痛苦,需要一个字一个字打出来,还需要对照验证准确性。手机QQ微信好像有一个东西可以提取图片中的信息,但是操作比较复杂。遂想着写个小工具,能提取截图中的信息。

    构建:本想找个js库直接引进来,可是找了好久那些都不好用,尤其是javascript 编写的ocr 完全跑不起来,极度浪费时间。后面查阅大量资料,发现百度云有现成的接口,准确率高而且速度也很快。(PS:桌面程序没 搞成,感觉半成品也能用,就这样吧)
    项目:构建maven项目或者使用spring-boot均可
    pom.xml 中引入
     
    com.baidu.aip
    java-sdk
    4.5.0
     
    com.alibaba
    fastjson
    1.2.4
     
    java:
    public class Sample { 
     
     // APPID/AK/SK  这三个值需要注册百度云,在平台上操作获取 用于调用接口验证
      public static final String APP_ID = "11640585";
    public static final String API_KEY = "7hAbGLSEBzt1itBN1GYZO08n"; 
    public static final String SECRET_KEY = "vf0EgcpkSpAiK7vAxF09DBN0xtgqOtr0"; 
     
      public static void main(String[] args) { 
      // OCR对象 
     AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY); 
      // 设置超时时间 
     client.setConnectionTimeoutInMillis(2000); 
      client.setSocketTimeoutInMillis(60000); 
      // 图片位置  我写死了直接就在桌面,截图保存桌面方便点
     String path = "C:/Users/ASUS/Desktop/111.png"; 
    //调用接口识别文字
      JSONObject res = client.basicGeneral(path, new HashMap()); 
      StringBuilder sBuilder = new StringBuilder();
      Map map = (Map) JSON.parse(res.toString());
      if (null != map) { 
      Listlist = (List) map.get("words_result");
      for (Map m : list) { 
      sBuilder.append(m.get("words")); 
      sBuilder.append(" ");
      } 
      } 
      System.out.println(sBuilder.toString());
      } 
    }
    APPID、AK、SK 希望自己注册,用我的也可以,指不定哪天我删了,那就没法用咯
     
  • 相关阅读:
    C#Type类中的IsAssignableFrom、IsInstanceOfType、IsSubclassOf
    C# IsAssignableFrom & IsInstanceOfType & IsSubclassOf & Is
    VS2017桌面应用程序打包成.msi或者.exe
    C# 10个常用特性
    ADO.NET 的六大对象及其关系图
    Expression表达式树(C#)
    表达式树 Expression Trees
    特性 Attribute
    C# 特性(attribute)
    Vue中使用axios
  • 原文地址:https://www.cnblogs.com/zhaiyt/p/9470439.html
Copyright © 2020-2023  润新知