赞
踩
车牌识别使用的是百度智能云的车牌识别AI
数据库使用的是华为云的云数据库
NO | 大分类 | 中分类 | 小分类 | 详细说明 |
---|---|---|---|---|
1 | 车牌识别 | 车牌识别 | 自动识别车牌号 | 可以识别中国大陆,新能源汽车,港澳台及部分国外车牌。 |
2 | 统计功能 | 停车时间 | 入场时间、离场时间 | 计算车辆停放时间 |
2 | 统计功能 | 停车次数 | 停车次数 | 指定车辆的停车次数 |
2 | 统计功能 | 车牌号码 | 车牌号 | 记录车牌号 |
2 | 统计功能 | 车场信息 | 车场车辆数 | 统计停车场内车辆数 |
2 | 统计功能 | 车场信息 | 空车位数量 | 统计停车场内空车位数量 |
2 | 统计功能 | 车场信息 | 时间段内收费总额 | 统计时间段内停车收费总额 |
3 | 计费功能 | 计算费用 | 计算费用 | 根据停车时间计算费用 |
主要有六个类,其中Widget类是系统主类,主要负责跳转各个功能模块界面;login类负责用户登录和注册新用户;ai类负责使用百度AI识别车牌照片;Serch负责查找停车场相关信息;message实现云数据库的连接,存储停车场内各种数据;cost负责停车场内计费模式的实现。
停车场管理系统使用具体流程如下图所示:
继承自 QWidget 类,是一个矩形的区域,负责用户登录,包含3个pushButton按钮,其中第三个pushButton负责跳转注册页面,点击“登录”按钮时会自动连接云数据库查找用户名及密码是否正确,错误会弹出消息框提示。
提取用户输入内容,连接云数据库并验证输入是否正确。
这一类是系统的主界面,作用主要是跳转各个功能界面,来实现不同的功能,
这一类较为简单,无特殊功能。
说明这一类继承于Widget类,拥有独特的.ui 界面,其作用主要是将上传的图片进行base64编码后发生至百度AI的车牌识别系统,识别图片中车牌号等信息,然后以json格式传回本系统中,在提取json中的内容后,将车牌号传入message类保存至云数据库中,若发现车辆是驶离停车场,会自动计算停车时长及收费总额。
在填充url和header后将base64编码的图片发送给百度AI。
下图分别展示了在上传图片后识别的车牌号结果图和驶离车场时的收费信息
下图是车牌识别的算法流程图。首先在点击“载入图片”后load_pix()
函数会在界面上显示图片及其路径,之后对图片进行base64编码,然后通过decode_pix()
函数将编码发送给百度AI进行车牌识别,返回后通过read_ack()
对json格式的返回结果进行解析。
在read_ack()
函数解析完百度AI传回的结果后,会判断该车牌是驶离或驶入停车场,若是驶入,将车牌号传递给mySlot()
函数,由该函数上传至数据库储存。若是驶离停车场,函数将会把车牌号传递给Slot_out()
函数,然后该函数将会下载数据库中该车的驶入时间,计算停车时长后将时长信息传递给cost::Slot_cost()
函数计算停车费用并弹出收费界面。
样例 | 操作 | 预期结果 | 实际结果 |
---|---|---|---|
样例1 | 初始显示登录界面,敲入错误账号与密码。 | 弹出警告 | Pass |
样例2 | 在主界面点击各个功能 | 成功跳转各个功能界面 | Pass |
样例3 | 在车牌识别界面点击载入图片 | 选择图片后成功显示在界面上 Pass | |
样例4 | 注册界面注册已存在账号 | 弹出警告 | Pass |
样例5 | 进入最大停车数以上车辆 | 弹出警告“停车场已满” | Pass |
样例6 | 车辆驶离停车场 | 收费界面正常弹出 | Pass |
样例7 | 更好收费模式 | 计费方式成功改变 | Pass |
样例8 | 查找未进入车辆信息 | 弹出警告“该车未进入过停车场” | Pass |
样例9 | 查看当前停车场内情况 | 正常显示车辆数和空位数 | Pass |
样例10 | 查询车辆时夹杂各种字符空格等 | 查询不到 | Pass |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。