一、项目简介
本项目是一个基于Python开发的智能停车场管理系统,集成了车牌识别、车辆管理、费用计算、数据统计等功能,旨在提供一个现代化、智能化的停车场解决方案。
代码流程图
1.1 系统目标
- 实现停车场的智能化管理
- 提高车辆进出效率
- 优化停车场资源利用
- 提供准确的数据统计和分析
二、系统架构
2.1 核心模块
├── main.py # 主程序入口
├── dbutil.py # 数据库操作工具
├── ocrutil.py # 车牌识别工具
├── timeutil.py # 时间计算工具
└── syslogin.py # 登录系统
(1)syslogin.py # 登录系统
采用 Python Tkinter 开发,实现用户认证和管理功能。
开发语言:Python
GUI 框架:Tkinter
数据库:MySQL (PyMySQL)
图像处理:PIL
(2)ocrutil.py # 车牌识别工具
该模块为智能停车场管理系统的车牌识别组件,利用百度 AI 的 OCR 服务实现车牌自动识别功能。
开发语言:Python
OCR服务:百度 AI 开放平台
图像处理:OpenCV (cv2)
filename = 'file/key.txt' # 密钥文件位置
配置信息格式:
{
'APP_ID': '34519843',
'API_KEY': 'bG2UtfdXAbpjayRhDpGVutuC',
'SECRET_KEY': '0CFK6CYyFiHG6jOOQ6lyI4fdzVYLQhwA'
}
(3)timeutil.py # 时间计算工具
该模块用于计算停车时间,并进行四舍五入处理。
参数说明
- stTime: 开始时间(字符串格式:"%Y-%m-%d %H:%M:%S")
- edTime: 结束时间(字符串格式:"%Y-%m-%d %H:%M:%S")
处理逻辑
将输入的字符串时间转换为datetime对象
计算时间差
将时间差转换为小时数并四舍五入
如果计算结果为0小时,则返回1小时
返回最终的小时数
(4)dbutil.py # 数据库操作工具
该模块是一个停车场管理系统的数据库工具模块,主要用于处理与MySQL数据库的交互操作。模块使用PyMySQL驱动程序连接MySQL数据库,并使用pandas处理数据。
(5)main.py # 主程序入口
该模块是一个基于Python的智能停车场管理系统,主要功能包括:
- 车牌识别
- 停车费用计算
- 实时监控
- 收入统计
- 车位管理
技术栈
- GUI框架: Pygame
- 图像处理: OpenCV (cv2)
- 数据处理: Pandas
- 数据可视化: Matplotlib
- 其他库: NumPy, threading, datetime等
用这些模块来实现可视化界面,让用户更好的查看识别效果
2.2 数据存储结构
├── aicarnumber.sql # 数据库文件
├── datafile/ # Excel数据文件存储
└── file/ # 临时文件目录
视频演示
调用百度API车牌识别