群里有人发的毕设要求,本身不是专业的后端,也就没敢接,但对车牌识别挺感兴趣的,于是自己就做了下
看了网上别人的做法,基本都是调用大厂提供的API。这里我就选择百度的了,因为有一月1000次的免费额度
首先打开百度AI开放平台-全球领先的人工智能服务平台 (baidu.com)官网。然后跟着下面选择并点击
点击立即使用车牌识别_车牌识别系统_车牌OCR识别-百度AI开放平台 (baidu.com),然后登录自己账号(百度网盘账号登录就可,有一些开通什么的操作,直接按照步骤开通就行,然后记得认证下,选择个人认证)。最后再点击立即使用
会进入到下面页面,然后点击去领取:百度智能云-管理中心 (baidu.com)
0元领取即可
领取之后,再点击应用
会进入到下面的页面,点击创建应用
会进入到应用配置页面
记得选择个人并写描述信息。最后点击立即创建即可
应用就创建成功了。然后开始查看技术文档文字识别OCR (baidu.com)
这里我用的java,所以选择java
下载对应的工具类:右键打开连接即可下载
会得到四个Java工具类。然后把类粘贴到Java项目对应的工具类包下
新建LicensePlate.java。把上面的代码粘贴进去,并引入爆红的类
package com.itheima.utils;
import java.net.URLEncoder;
public class LicensePlate {
public static String licensePlate() {
// 请求url
String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate";
try {
// 本地文件路径
String filePath = "C:\\Users\\DELL\\Desktop\\OIP-C.jpg";
byte[] imgData = FileUtil.readFileByBytes(filePath);
String imgStr = Base64Util.encode(imgData);
String imgParam = URLEncoder.encode(imgStr, "UTF-8");
String param = "image=" + imgParam;
// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
String accessToken = "[调用鉴权接口获取的token]";
String result = HttpUtil.post(url, accessToken, param);
System.out.println(result);
return result;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
LicensePlate.licensePlate();
}
}
然后修改对应的地方
获取token:百度智能云-管理中心 (baidu.com)。点击api在线调试
会跳到页面:点击调试,获取token,找到accessToken,赋值并粘贴到LicensePlate.java的accessToken里
最后就可以进行测试了
测试结果
如果出现下面的错误,则是没有领取