1. 程式人生 > >圖文識別《一》

圖文識別《一》

tco 桌面 pen 希望 浪費 asi out mil null

背景:開發定位測試環境或生產環境問題時需要登錄雲桌面,經常需要從雲桌面中復制一些東西到本地,但是雲桌面中的東西復制不出來,例如: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("\n"); } } System.out.println(sBuilder.toString()); } } APPID、AK、SK 希望自己註冊,用我的也可以,指不定哪天我刪了,那就沒法用咯

圖文識別《一》