java 利用百度云識別圖片文字

一毁靶、百度云使用步驟

1.進入https://console.bce.baidu.com/#/index/overview 登錄百度云賬號鼠次。百度所有賬號都是通用的稠曼,可以直接利用百度的其他賬號(百度網(wǎng)盤葛账、百度貼吧等)進行登錄婚惫。沒有可以進行注冊椿胯。進入到如下界面筷登,登錄成功后,滑動到頁面最下邊哩盲。

首頁.png

2.選擇文字識別
文字識別.png

選中文字識別進入到如下頁面前方。
文字識別詳情.png

3.在應用列表下,創(chuàng)建應用
應用.png

這里需要注意种冬,如果你的是android或者Ios應用則需要把包名和應用名與你填寫的保持一致镣丑。
4.創(chuàng)建成功后就可以看到我們所需要的API Key和Secret Key 。
成功.png

百度云識別圖片文字所需要的API Key 和Secrect Key已經(jīng)獲取成功娱两,下面開始進行圖片文字識別的實現(xiàn)莺匠。

二、程序設計

1十兢、下載所需要的jar包趣竣,在百度云官網(wǎng)下載http://ai.baidu.com/sdk#ocr。選擇文字識別中的 java SDK 進行下載旱物。解壓后獲取到所需要的jar包遥缕。http://ai.baidu.com/docs#/OCR-Java-SDK/top 可參考該頁面的使用步驟。

api

2宵呛、新建一個java工程单匣。
初始化一個AipOcr

 * 初始化AipOcr
 * @param appId   
 * @param apiKey
 * @param secretKey
 * @return
 */
public static AipOcr getAipOCR(String appId,String apiKey,String secretKey){
    AipOcr api = null;
    if(appId == null || appId.trim().length() == 0 
            || apiKey == null || apiKey.trim().length() == 0
            || secretKey == null || secretKey.trim().length() == 0)
    {
        logger.info("appID or apiKey or secretKey is error! ");
        return api;
    }
    api = new AipOcr(appId, apiKey, secretKey);
    
    return api;
}

通用文字識別的方法(識別本地圖片上的文字)

/**
 * 識別本地圖片文字
 * @param imgUrl
 * @return
 */
public static String getOCRText(String imgUrl){
    String ocrText = null;
    
    String appId = "你的 App ID";
    String apiKey = "你的 Api Key" ;
    String secretKey = "你的 Secret Key";
    AipOcr api = getAipOCR(appId, apiKey, secretKey);
    if(api == null ){
        logger.warn("api is null,unable to continue!");
        return ocrText;
    }
    HashMap<String, String> options = new HashMap<String, String>();
    options.put("detect_direction", "true");
    options.put("probability", "true");
    options.put("recognize_granularity", "big");
    options.put("vertexes_location", "true");
    
    JSONObject res = api.basicAccurateGeneral(imgUrl, options);
    
    if(res == null || res.length() == 0){
        ocrText = "There is no text in this picture.";
        return ocrText;
    }
    
    JSONArray dataArray = res.getJSONArray("words_result");
    
    System.out.println(dataArray);
    
    JSONObject jsonData;
    
    if(dataArray == null || dataArray.length() == 0){
        ocrText = "There is no text in this picture.";
        return ocrText;
    }
    for (int i = 0; i < dataArray.length(); i++) {
        jsonData = dataArray.getJSONObject(i);
        if(jsonData != null){
            ocrText += jsonData.getString("words");
        }else {
            ocrText += "There is no text in this picture.";
        }
    }
    return ocrText;
}

測試圖片


test1.png

測試結果


result1.png

識別網(wǎng)絡上的圖片 http://dimg04.c-ctrip.com/images/300n0y000000lykmiC927.jpg

/**
 * 識別網(wǎng)絡圖片上的文字
 * @param imgUrl
 * @return
 */
public static String getOCR(String imgUrl){
        
    String ocrWord="";
    if(!imgUrl.startsWith("http"))
        return ocrWord;
    
    String appId = "你的 App ID";
    String apiKey = "你的 Api Key" ;
    String secretKey = "你的 Secret Key";
    AipOcr api = getAipOCR(appId, apiKey, secretKey);
    if(api == null ){
        logger.warn("api is null,unable to continue!");
        return ocrWord;
    }
    HashMap<String, String> options = new HashMap<String, String>();
    options.put("detect_direction", "true");
    options.put("detect_language", "true");
    
    JSONObject res = api.webImageUrl(imgUrl, options );
    
    JSONArray dataArray = res.getJSONArray("words_result");
    JSONObject jsonData;
    
    for (int i = 0; i < dataArray.length(); i++) {
        jsonData = dataArray.getJSONObject(i);
        if(jsonData != null)
            ocrWord += jsonData.getString("words");
    }
    
    return ocrWord;
}

測試的圖片http://dimg04.c-ctrip.com/images/300n0y000000lykmiC927.jpg
測試結果

result2.png

不足之處請指出,謝謝
源碼鏈接:
鏈接:https://pan.baidu.com/s/1TMrVLUHYhyvHEbFq2T89bA 提取碼:8udn

參考資料:https://blog.csdn.net/xiaoxsen/article/details/80459971

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末宝穗,一起剝皮案震驚了整個濱河市户秤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逮矛,老刑警劉巖鸡号,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異须鼎,居然都是意外死亡鲸伴,警方通過查閱死者的電腦和手機府蔗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汞窗,“玉大人姓赤,你說我怎么就攤上這事∩颊蓿” “怎么了模捂?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蜘矢。 經(jīng)常有香客問我狂男,道長,這世上最難降的妖魔是什么品腹? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任岖食,我火速辦了婚禮,結果婚禮上舞吭,老公的妹妹穿的比我還像新娘泡垃。我一直安慰自己,他們只是感情好羡鸥,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布蔑穴。 她就那樣靜靜地躺著,像睡著了一般惧浴。 火紅的嫁衣襯著肌膚如雪存和。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天衷旅,我揣著相機與錄音捐腿,去河邊找鬼。 笑死柿顶,一個胖子當著我的面吹牛茄袖,可吹牛的內容都是我干的。 我是一名探鬼主播嘁锯,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼宪祥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了家乘?” 一聲冷哼從身側響起品山,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烤低,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笆载,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡扑馁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年涯呻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腻要。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡复罐,死狀恐怖,靈堂內的尸體忽然破棺而出雄家,到底是詐尸還是另有隱情效诅,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布趟济,位于F島的核電站乱投,受9級特大地震影響,放射性物質發(fā)生泄漏顷编。R本人自食惡果不足惜戚炫,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望媳纬。 院中可真熱鬧双肤,春花似錦、人聲如沸钮惠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽素挽。三九已至蔑赘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毁菱,已是汗流浹背米死。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贮庞,地道東北人峦筒。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像窗慎,于是被迫代替她去往敵國和親物喷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫遮斥、插件峦失、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,106評論 4 62
  • 甘心高貴
    比青石閱讀 301評論 0 0
  • 昏昏沉沉的2018年半年多過去了,從這個8月末開始术吗,在這里寫一些小文章尉辑,總結自己學會的東西,算是一種督促较屿,...
    風鈴_2a53閱讀 164評論 0 0
  • 詩 就是極簡的複雜語言 《潮騷~蔡振源》
    蔡振源閱讀 336評論 0 2
  • “咚隧魄、咚”兩聲敲門卓练,把陷入夢鄉(xiāng)的我驚醒了,看看表购啄,已是晚上十一點襟企。我開開門:“哦,爸爸好狮含⊥绲浚”“好〖钙”他滿身疲憊的邁...
    簡翼閱讀 279評論 2 1