Java通過(guò)百度API實(shí)現(xiàn)圖片車牌號(hào)識(shí)別
本代碼功能是通過(guò)調(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 Key
2、應(yīng)用的Secret Key
3、access_token
4、圖片數(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/SK
private 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)配置
// 也可以直接通過(guò)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ì)造成訪問(wèn)過(guò)慢,用戶體驗(yàn)不好。但是圖片過(guò)小、分辨率壓縮的過(guò)低,又會(huì)降低識(shí)別成功率。所以這里對(duì)處理圖片的參數(shù)設(shè)置需要自己去把握,更好的平衡利弊。
到此這篇關(guān)于Java通過(guò)百度API實(shí)現(xiàn)圖片車牌號(hào)識(shí)別的文章就介紹到這了,更多相關(guān)Java 車牌號(hào)識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于JAVA_HOME路徑修改之后JDK的版本依然不更改的解決辦法
今天小編就為大家分享一篇關(guān)于JAVA_HOME路徑修改之后JDK的版本依然不更改的解決辦法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
Java核心庫(kù)實(shí)現(xiàn)AOP過(guò)程
給大家分享一下利用Java核心庫(kù)實(shí)現(xiàn)簡(jiǎn)單的AOP的經(jīng)驗(yàn)分享和教學(xué),需要的讀者們參考下吧。2017-12-12
Spring Cloud Stream分區(qū)分組原理圖解
這篇文章主要介紹了Spring Cloud Stream的分區(qū)和分組,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
SpringBoot注冊(cè)Servlet的三種方法詳解
這篇文章主要介紹了SpringBoot注冊(cè)Servlet的三種方法詳解,教你如何Spring Boot 注冊(cè) Servlet、Filter、Listener,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05
解決IDEA中maven導(dǎo)入jar包一直報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決IDEA中maven導(dǎo)入jar包一直報(bào)錯(cuò)問(wèn)題,本文通過(guò)實(shí)例圖文的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Java項(xiàng)目中如何訪問(wèn)WEB-INF下jsp頁(yè)面
這篇文章主要介紹了Java項(xiàng)目中如何訪問(wèn)WEB-INF下jsp頁(yè)面,文章通過(guò)示例代碼和圖文解析介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08

