Java通過百度API實(shí)現(xiàn)圖片車牌號(hào)識(shí)別
本代碼功能是通過調(diào)用百度API實(shí)現(xiàn)的,所有你需要去百度API官網(wǎng)申請(qǐng)下你的API Key 以及Secret Key才能使用它的功能哦!
擬采用百度AI實(shí)現(xiàn)該功能(http://ai.baidu.com/docs#/OCR-API/5116ac95)
根據(jù)百度的文檔描述,初步明確需要的幾個(gè)參數(shù)為:1、應(yīng)用的API Key2、應(yīng)用的Secret Key3、access_token4、圖片數(shù)據(jù)
首先導(dǎo)入maven依賴
<dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <version>4.11.3</version></dependency>
設(shè)置你從百度API官網(wǎng)拿到的秘鑰
//設(shè)置APPID/AK/SKprivate static final String APP_ID = '填寫你的APP_ID';private static final String API_KEY = '填寫你的API_KEY ';private static final String SECRET_KEY = '填寫你的SECRET_KEY ';
下面是具體實(shí)現(xiàn)代碼
/** * * @param img 圖片的字節(jié)流 * @return number 車牌號(hào) */ public static String plateLicense(byte[] img) { // 初始化一個(gè)AipOcr AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY); // 可選:設(shè)置網(wǎng)絡(luò)連接參數(shù) client.setConnectionTimeoutInMillis(2000); client.setSocketTimeoutInMillis(60000); // 可選:設(shè)置代理服務(wù)器地址, http和socket二選一,或者均不設(shè)置 // client.setHttpProxy('proxy_host', proxy_port); // 設(shè)置http代理 //client.setSocketProxy('proxy_host', proxy_port); // 設(shè)置socket代理 // 可選:設(shè)置log4j日志輸出格式,若不設(shè)置,則使用默認(rèn)配置 // 也可以直接通過jvm啟動(dòng)參數(shù)設(shè)置此環(huán)境變量 System.setProperty('aip.log4j.conf', ExportWordUtil.class.getResource('/').getPath() +'/log4j.properties'); // 傳入可選參數(shù)調(diào)用接口 HashMap<String, String> options = new HashMap<String, String>(); options.put('multi_detect', 'false'); // 調(diào)用接口 JSONObject res = client.plateLicense(img, options); try {System.out.println(res.toString(2));if(res.get('words_result') != null) { String number = res.getJSONObject('words_result').getString('number'); //System.out.println(number); return number;}else{ //失敗打印錯(cuò)誤信息 System.out.println(res.getString('error_msg'));} } catch (JSONException e) { //異常信息System.out.println(e.getMessage()); } return null;}
注意事項(xiàng):1、access_token有有效期,需要定期更換。2、圖片大小限制(分辨率、字節(jié)數(shù))。后臺(tái)發(fā)起請(qǐng)求獲取車牌號(hào),一張圖片從前臺(tái)傳到后臺(tái),再調(diào)用百度API,相當(dāng)于傳遞兩次,圖片太大的話會(huì)造成訪問過慢,用戶體驗(yàn)不好。但是圖片過小、分辨率壓縮的過低,又會(huì)降低識(shí)別成功率。所以這里對(duì)處理圖片的參數(shù)設(shè)置需要自己去把握,更好的平衡利弊。
到此這篇關(guān)于Java通過百度API實(shí)現(xiàn)圖片車牌號(hào)識(shí)別的文章就介紹到這了,更多相關(guān)Java 車牌號(hào)識(shí)別內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 手機(jī)QQ轉(zhuǎn)賬記錄怎么刪除 QQ錢包交易記錄刪除方法2. 支付寶ar實(shí)景紅包找不到怎么回事 支付寶ar實(shí)景紅包停止服務(wù)真的嗎3. 眾里尋他千百度,還是諾記N70稱我心4. 支付寶APP找到螞蟻微客具體操作方法5. qq畫圖紅包勺子怎么畫?QQ畫圖紅包所有圖案畫法匯總6. 騰訊會(huì)議創(chuàng)建班級(jí)群教程7. Word中編號(hào)和文字相隔太遠(yuǎn)?拖動(dòng)標(biāo)尺來調(diào)整介紹8. 國(guó)家反詐中心人臉識(shí)別不了怎么辦 人臉識(shí)別老是不通過原因9. 微信怎么靜音播放視頻?10. 天貓超市能拆單退貨嗎