服务器之家

服务器之家 > 正文

Java通过百度API实现图片车牌号识别

时间:2021-09-13 15:56     来源/作者:外星喵

本代码功能是通过调用百度API实现的,所有你需要去百度API官网申请下你的API Key 以及Secret Key才能使用它的功能哦!

拟采用百度AI实现该功能(http://ai.baidu.com/docs#/OCR-API/5116ac95)

Java通过百度API实现图片车牌号识别

根据百度的文档描述,初步明确需要的几个参数为:
1、应用的API Key
2、应用的Secret Key
3、access_token
4、图片数据

首先导入maven依赖

  1. <dependency>
  2. <groupId>com.baidu.aip</groupId>
  3. <artifactId>java-sdk</artifactId>
  4. <version>4.11.3</version>
  5. </dependency>

设置你从百度API官网拿到的秘钥

  1. //设置APPID/AK/SK
  2. private static final String APP_ID = "填写你的APP_ID";
  3. private static final String API_KEY = "填写你的API_KEY ";
  4. private static final String SECRET_KEY = "填写你的SECRET_KEY ";

下面是具体实现代码

  1. /**
  2. *
  3. * @param img 图片的字节流
  4. * @return number 车牌号
  5. */
  6. public static String plateLicense(byte[] img) {
  7. // 初始化一个AipOcr
  8. AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
  9. // 可选:设置网络连接参数
  10. client.setConnectionTimeoutInMillis(2000);
  11. client.setSocketTimeoutInMillis(60000);
  12. // 可选:设置代理服务器地址, http和socket二选一,或者均不设置
  13. // client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
  14. //client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理
  15. // 可选:设置log4j日志输出格式,若不设置,则使用默认配置
  16. // 也可以直接通过jvm启动参数设置此环境变量
  17. System.setProperty("aip.log4j.conf", ExportWordUtil.class.getResource("/").getPath() +"/log4j.properties");
  18. // 传入可选参数调用接口
  19. HashMap<String, String> options = new HashMap<String, String>();
  20. options.put("multi_detect", "false");
  21. // 调用接口
  22. JSONObject res = client.plateLicense(img, options);
  23. try {
  24. System.out.println(res.toString(2));
  25. if(res.get("words_result") != null) {
  26. String number = res.getJSONObject("words_result").getString("number");
  27. //System.out.println(number);
  28. return number;
  29. }else{
  30. //失败打印错误信息
  31. System.out.println(res.getString("error_msg"));
  32. }
  33. } catch (JSONException e) {
  34. //异常信息
  35. System.out.println(e.getMessage());
  36. }
  37. return null;
  38. }

注意事项:
1、access_token有有效期,需要定期更换。
2、图片大小限制(分辨率、字节数)。
后台发起请求获取车牌号,一张图片从前台传到后台,再调用百度API,相当于传递两次,图片太大的话会造成访问过慢,用户体验不好。但是图片过小、分辨率压缩的过低,又会降低识别成功率。所以这里对处理图片的参数设置需要自己去把握,更好的平衡利弊。

到此这篇关于Java通过百度API实现图片车牌号识别的文章就介绍到这了,更多相关Java 车牌号识别内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/c15158032319/article/details/96479494

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部