又是一年毕业季,前段时间帮学弟指导了一个车辆识别计费系统,整个的实现思路在此记录下,感兴趣的可以参考一下。

整个项目沟通后情况如下:

需求功能:

1、住户的登记,小区、手机号码、姓名、地址;
2、访客登记、手机号码、姓名、地址;
3、小区的管理,增删改查;
4、车辆登记,记录车牌、进入还是出去;
5、停车费计算;
6、人员进出时间计算

所用技术:按客户掌握的技能采用java、servlet、vue、jquery、js、ajax、boostrap、css、人脸图像、车牌识别处理部分主要采用百度api。

工期:2个星期。

整个项目最终效果:

功能点第1、2、3、4

效果可以和《基于百度人脸识别的小区人脸门禁系统》类似

https://blog.csdn.net/qq_34042417/article/details/106439308

5、停车费计算;(主要包含车牌识别,记录,判断合法性、车辆停留时间和费用)

(车辆进入效果图)

主要代码:

1、通过前台传入的截屏作为图片参数,调用百度api接口识别,车牌文字后识别车牌的合法性;

public static boolean isLicensePlate(String content) {String pattern = "^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[警京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]{0,1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$";boolean isMatch = Pattern.matches(pattern, content);return isMatch;}

车辆出去时,根据车辆截屏图像识别车牌,判断车牌合法性,再查询车辆进入记录,算时间、算费用。

车牌识别主要代码:

package com.face.service;import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;import org.json.JSONArray;
import org.json.JSONObject;import com.baidu.aip.ocr.AipOcr;
import com.face.opj.CarLogs;
import com.face.opj.Logs;
import com.face.token.Token;
import com.face.utils.ConnectioUtil;
import com.face.utils.MyStringUilts;public class CarManagerService {public static JSONObject accurateIdentification(String path,byte[] file) {// 初始化一个AipOcrAipOcr client = new AipOcr(Token.APP_ID, Token.API_KEY, Token.SECRET_KEY);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);System.setProperty("aip.log4j.conf", path);// 传入可选参数调用接口HashMap<String, String> options = new HashMap<String, String>();options.put("detect_direction", "true");options.put("probability", "true");// 参数为本地图片二进制数组JSONObject res = client.basicAccurateGeneral(file, options);System.out.println(res.toString(2));return res;}public static JSONObject generalIdentification(byte[] file) {AipOcr client = new AipOcr(Token.APP_ID, Token.API_KEY, Token.SECRET_KEY);// 传入可选参数调用接口HashMap<String, String> options = new HashMap<String, String>();options.put("language_type", "CHN_ENG");options.put("detect_direction", "true");options.put("detect_language", "true");options.put("probability", "true");JSONObject res = client.basicGeneral(file, options);System.out.println(res.toString(2));return res;}public static int insertCarLogin(String chepai,String type,String time) {Connection con=ConnectioUtil.con_db();String sql = "insert into car(chepai, type, time) value(?, ?, ?)";PreparedStatement pstmt=null;int n=0; try {pstmt=con.prepareStatement(sql);pstmt.setString(1, chepai);  pstmt.setString(2, type);pstmt.setString(3, time);n=pstmt.executeUpdate();} catch(SQLException e) {e.printStackTrace();  }finally{     try {con.close();} catch (SQLException e) {e.printStackTrace();}    }return n;}public static ArrayList<CarLogs> selectLoginLog(String chepai){ArrayList<CarLogs> result = new ArrayList<CarLogs>();Connection con=ConnectioUtil.con_db();String sql = "select * from car where chepai = '"+chepai+"' and type = '0' order by id desc";PreparedStatement pstmt=null;ResultSet rs=null; try {pstmt=con.prepareStatement(sql);rs=pstmt.executeQuery(sql);while(rs.next()){CarLogs face =new CarLogs(rs.getString("chepai"),rs.getString("type"),rs.getString("time"));result.add(face);    }} catch(SQLException e) {e.printStackTrace();  }finally{       try {con.close();} catch (SQLException e) {e.printStackTrace();}    }return result;}public static void main(String[] args) throws ParseException {Calendar instance = Calendar.getInstance();Date time = instance.getTime();//获取的是当前系统的时间SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String showTime = format.format(time);System.out.println(time.getTime());System.out.println(format.parse("2021-06-05 11:32:48").getTime());System.out.println(time.getTime()-format.parse("2021-06-05 11:32:48").getTime());BigDecimal useTime = new BigDecimal((time.getTime()-format.parse("2021-06-05 11:32:48").getTime()));BigDecimal divideHour = new BigDecimal(1000*60*60);double usehour = Math.ceil(useTime.divide(divideHour,2).doubleValue());System.out.println(usehour);System.out.println(usehour*5);
//        System.out.println(Math.ceil( useTime.divide(divideHour).doubleValue()));}}

需要完整代码可发邮件至1043624279@qq.com

基于百度api接口的车辆识别计费系统相关推荐

  1. 基于百度智能云的人脸识别登陆系统

    基于百度智能云的人脸识别登陆系统 设计说明 后端项目结构 前端页面 项目版本1下载 使用说明 项目版本1的Gitee链接 项目版本2--基于人脸对比的登陆系统 项目2下载链接 版本2的Gitee链接 ...

  2. Java基于百度API的图片文字识别(支持中文,英文和中英文混合)

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...

  3. Java基于百度API的图片文字识别

    使用之前需要获取对应的项目API_KEY,SECRET_KEY,这些参数在使用API的时候必须用到,用于生成access_token. 如何获取这些参数:在百度开发者中心申请一个"通用文字识 ...

  4. java 图像识别包_Java基于百度API的图片文字识别免费源码和jar包

    1.准备工作(jdk1.8) 使用之前需要获取对应的项目API_KEY,SECRET_KEY,这些参数在使用API的时候必须用到,用于生成access_token. 如何获取这些参数? 登陆后创建一个 ...

  5. 基于百度api的违规文本识别 分词 tfidf关键词提取 违规文本检测

    # encoding:utf-8#导入库 import requests import pandas as pd import math import re import jieba# client_ ...

  6. 植物识别库java_基于百度api的植物图片识别,人脸检测,人脸对比。

    importjava.io.BufferedReader;importjava.io.DataOutputStream;importjava.io.InputStreamReader;importja ...

  7. 【优秀课设】基于Python的百度API的OCR名片识别【含完整API账户】

    基于Python的百度API的OCR名片识别[含完整API账户] API账户:(AK及SK) client_id ='WiXDt5e70NI5w0qSeoUBZClZ' client_secret = ...

  8. java+js实现人脸识别-基于百度api

    java+js实现人脸识别-基于百度api 我的第一次分享 第一步-我们了解下实现的思路 代码部分:1.js代码 2.后台代码 3.如何使用百度大脑 4.如何使用 navigator.mediaDev ...

  9. 百度API实现logo商标识别接口介绍

    作者介绍 严松,男,西安工程大学电子信息学院,2022级研究生 研究方向:机器人抓取检测 电子邮件:2448052777@qq.com 祝樱,女,西安工程大学电子信息学院,2022级研究生 研究方向: ...

最新文章

  1. Cannot place PIO comp S on the proposed PIO site PB6C / F5 because the types of their IOLOGICs a...
  2. Hackbar PJ
  3. hadoop入门小知识点
  4. vux 修改 设置 主题 颜色
  5. 为什么我要转载文章?
  6. Python 基础,不看会后悔哦!
  7. 开发文档模板_究竟什么样的开发流程是规范的?
  8. 20190906:(leetcode习题)Shuffle an Array
  9. Ubuntu Linux镜像下载
  10. Eclipse下载安装Spring插件
  11. mpa和pis_扭矩换算mpa(压力与扭矩换算)
  12. 杭州市直职称计算机考点地址,杭州中级会计考试地点在哪里
  13. Vue入门学习总结一:Vue定义
  14. 3ds Max随堂笔记 材质和贴图
  15. wgc84 笛卡尔_WGS84椭球下的UTM坐标与Clarke80椭球下的兰勃特坐标转换方法研究
  16. 股票学习-量柱和k线-第十天------量线的生成机制--------谷底线
  17. 鼠标悬浮显示图片和文字
  18. MFC——画笔和画刷
  19. Android Studio文本编辑框EditText
  20. UE4 4.26 Pixel Streaming 应用场景

热门文章

  1. 2020软件工程专硕考研经验指导
  2. Aspose.Cells 取消隐藏行和列(取消隐藏单行、取消隐藏多行、取消隐藏单列、取消隐藏多列
  3. Yii2中如何使用CodeCeption
  4. Python数据类型(一)数字类型
  5. Contelec KL750-5K0/M-SE醉后不知天在水
  6. html 5新增技术,HTML5新增元素,标签总结
  7. SAP License:SAP HR人力资源管理系统
  8. 计算机玩什么游戏都闪退,电脑玩原神闪退怎么办 原神PC版闪退解决方法
  9. word中间有条横线怎么删除, 快捷生成的横线如何删除
  10. Arduino - 继电器