百度AI车牌识别配置指南
🎯 功能概述
本项目集成了百度AI车牌识别功能,支持:
- 🔍 实时车牌识别
- 📱 移动端摄像头调用
- 🖼️ 相册图片识别
- 📊 识别结果详情(车牌号、颜色、置信度等)
📝 配置步骤
1. 注册百度AI开放平台
- 访问百度AI开放平台
-
- 打开 https://ai.baidu.com/
-
- 点击右上角"控制台"
- 登录/注册账号
-
- 使用百度账号登录
-
- 如无账号,先注册一个百度账号
- 实名认证
-
- 进入控制台后,需要进行实名认证
-
- 个人用户需要提供身份证信息
-
- 企业用户需要提供营业执照
2. 创建车牌识别应用
- 进入文字识别服务
-
- 在控制台左侧菜单选择"文字识别"
-
- 点击"车牌识别"
- 创建应用
-
- 点击"创建应用"按钮
-
- 填写应用信息:
应用名称:停车管理车牌识别
应用类型:Web应用
应用描述:用于停车管理系统的车牌识别功能
- 获取密钥
-
- 创建完成后,在应用列表中找到你的应用
-
- 记录下三个重要信息:
-
-
- App ID:应用唯一标识
-
-
-
- API Key:用于API调用的密钥
-
-
-
- Secret Key:用于获取访问令牌的密钥
-
3. 配置项目
- 编辑配置文件
-
- 打开
src/main/resources/application.yml
- 打开
-
- 找到百度AI配置部分:
# 百度AI配置
baidu:ai:# 替换为你的真实密钥app-id: 你的App IDapi-key: 你的API Keysecret-key: 你的Secret Key# 以下配置一般不需要修改base-url: https://aip.baidubce.comtoken-url: /oauth/2.0/tokenplate-url: /rest/2.0/ocr/v1/license_platetoken-cache-minutes: 25
- 示例配置
baidu:ai:app-id: "12345678"api-key: "abcdef123456789"secret-key: "xyz987654321abc"
🧪 测试连接
1. 启动应用
mvn spring-boot:run
2. 测试API接口
检查配置
curl -X GET "http://localhost:8080/api/plate/test/config"
成功响应示例:
{"success": true,"data": {"configComplete": true,"baseUrl": "https://aip.baidubce.com","apiKeyConfigured": true,"secretKeyConfigured": true}
}
测试连接
curl -X POST "http://localhost:8080/api/plate/test/connection"
成功响应示例:
{"success": true,"data": {"connectionSuccess": true,"message": "百度AI连接测试成功","recognitionSuccess": false,"note": "连接成功但识别失败(可能是测试图片没有车牌,这是正常的)"}
}
📱 前端集成
1. 在页面中使用车牌识别组件
<template><view><plate-scanner @plate-confirmed="onPlateSelected":auto-recognize="false"/></view></template><script>
import PlateScanner from '@/components/plate-recognition/plate-scanner.vue'export default {components: { PlateScanner },methods: {onPlateSelected(plate) {console.log('识别到车牌:', plate.plateNumber)// 处理车牌信息this.carForm.plateNumber = plate.plateNumberthis.carForm.plateColor = plate.color}}
}
</script>
2. 直接调用API
// 车牌识别
async recognizePlate(base64Image) {try {const response = await uni.request({url: 'http://localhost:8080/api/plate/recognize',method: 'POST',data: { image: base64Image },header: { 'Content-Type': 'application/json' }})if (response.data.success) {const result = response.data.dataconsole.log('识别结果:', result.plateNumber)}} catch (error) {console.error('识别失败:', error)}
}
🔧 常见问题
1. 配置相关
Q: 提示"配置不完整"
A: 请确保在application.yml中正确配置了api-key和secret-key,且不包含"your_"等占位符。
Q: 获取访问令牌失败
A: 检查以下几点:
- API Key 和 Secret Key 是否正确
- 网络连接是否正常
- 是否已完成实名认证
2. 网络相关
Q: 连接超时
A: 可能的原因:
- 网络环境不稳定
- 防火墙阻止了对百度AI的访问
- 代理服务器设置问题
解决方案:
- 检查网络连接
- 尝试使用其他网络环境
- 配置代理(如果需要)
3. 识别相关
Q: 识别精度不高
A: 优化建议:
- 确保图片清晰度足够
- 车牌在图片中占比适中
- 避免光线过强或过弱
- 车牌角度不要太倾斜
Q: 识别不到车牌
A: 可能原因:
- 图片中没有车牌
- 车牌被遮挡
- 车牌模糊不清
- 图片格式不支持
💰 费用说明
1. 免费额度
- 百度AI车牌识别提供每月免费1000次调用
- 超出免费额度后按调用次数收费
2. 收费标准
- 车牌识别:0.002元/次
- 详细价格请参考:https://ai.baidu.com/ai-doc/OCR/dk3h7y5vr
3. 成本控制建议
- 在开发阶段使用测试接口
- 生产环境添加调用频率限制
- 缓存识别结果避免重复调用
🔒 安全建议
1. 密钥安全
- 不要将密钥提交到代码仓库
- 使用环境变量或加密配置文件存储密钥
- 定期更换密钥
2. 访问控制
- 限制API调用频率
- 添加用户身份验证
- 记录API调用日志
3. 数据安全
- 识别完成后及时清理临时图片
- 对敏感数据进行加密存储
- 遵守相关法律法规