python智能停车场车牌识别计费系统百度ai
Posted 叶绿体不忘呼吸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python智能停车场车牌识别计费系统百度ai相关的知识,希望对你有一定的参考价值。
wx供重浩:创享日记
对话框发送:python停车场
获取完整源码源文件+说明文档+可执行文件等
在PyCharm中运行《智能停车场车牌识别计费系统》即可进入如图1所示的系统主界面。
说明:在运行程序前,先将当前的计算机连接互联网,并且需要先申请百度AI开放平台的图片识别需要的Key,并且复制该Key到项目根目录下的file子目录的key.txt文件中替换相应的内容即可。替换时需要注意不要把原来的单引号删除。
具体的操作步骤如下:
(1)识别车牌,并实现车辆入场和出场。当有车辆的车头或车尾对准摄像头后,管理员单击“识别”按钮,系统将识别该车牌,并且根据车牌判断入场或出场,显示不同信息。车辆入场时效果如图2所示,车辆驶出时效果如图3所示。
(2)收入统计。单击“收入统计”按钮,系统会根据车辆进出记录汇总出一个的收入信息,并且通过柱型图显示出来,效果如图4所示。
(3)满预警。系统会根据以往的数据自动判断一周中的哪一天会出现车位紧张的情况,从而在前一天给出预警提示,方便管理员提前做好调度,效果如图5所示。
运行方法
说明:在运行程序前,先将当前的计算机连接互联网,并且需要先申请百度AI开放平台的图片识别需要的Key,并且复制该Key到项目根目录下的file子目录的key.txt文件中替换相应的内容即可。替换时需要注意不要把原来的单引号删除。
打开PyCharm开发环境,然后在主菜单上选择File→Open菜单项,在打开的Open File or Project对话框中,选择项目CarNumber,如图1所示。
单击OK按钮,将弹出 Open Project对话框,在该对话框,如果想要在新的窗体中打开项目,则选中Open in new window单选按钮,否则在当前窗体中打开,则选中Open in current window单选按钮。这里在新窗体中打开文件,如图2所示。
打开项目后,在右侧的Project面板中选中程序的主文件main.py,并且单击鼠标右键,在弹出的快捷菜单中选择“Run ‘main’”菜单项运行项目,如图3所示。
程序运行效果如图4所示。
说明:在运行程序时,如图出现如图5所示的异常信息,那么可能是没有连接摄像头,或者摄像头出现异常。
部分源码如下,其余完整详见下载,可忽略。
# 定义颜色
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
BLUE = (0, 120, 215)
GRAY = (96,96,96)
RED = (220,20,60)
YELLOW = (255,255,0)
DARKBLUE = (73, 119, 142)
BG = DARKBLUE # 指定背景颜色
#信息内容
txt1=''
txt2=''
txt3=''
# 窗体大小
size = 1000, 484
# 设置帧率(屏幕每秒刷新的次数)
FPS = 60
# 一共有多少车位
Total =100
# 月收入统计分析界面开关
income_switch=False
# 获取文件的路径
cdir = os.getcwd()
# 文件路径
path=cdir+'/datafile/'
# 读取路径
if not os.path.exists(path):
# 根据路径建立文件夹
os.makedirs(path)
# 车牌号 日期 时间 价格 状态
carnfile = pd.DataFrame(columns=['carnumber', 'date', 'price', 'state'])
# 生成xlsx文件
carnfile.to_excel(path+'停车场车辆表' + '.xlsx', sheet_name='data')
carnfile.to_excel(path+'停车场信息表' + '.xlsx', sheet_name='data')
# 读取文件内容
pi_table = pd.read_excel(path+'停车场车辆表.xlsx', sheet_name='data')
pi_info_table = pd.read_excel(path+'停车场信息表.xlsx', sheet_name='data')
# 停车场车辆
cars = pi_table[['carnumber', 'date', 'state']].values
# 已进入车辆数量
carn =len(cars)
# pygame初始化
pygame.init()
# 设置窗体名称
pygame.display.set_caption('智能停车场车牌识别计费系统')
# 图标
ic_launcher = pygame.image.load('file/ic_launcher.png')
# 设置图标
pygame.display.set_icon(ic_launcher)
# 设置窗体大小
screen=pygame.display.set_mode(size)
# 设置背景颜色
screen.fill(BG)
try:
cam = cv2.VideoCapture(0)
except:
print('请连接摄像头')
# 背景文图案
def text0(screen):
# 底色
pygame.draw.rect(screen, BG, (650, 2, 350, 640))
# 绘制横线
pygame.draw.aaline(screen, GREEN, (662, 50), (980, 50), 1)
# 绘制信息矩形框
pygame.draw.rect(screen, GREEN, (650, 350, 342,85),1)
# 使用系统字体
xtfont = pygame.font.SysFont('SimHei', 15)
# 重新开始按钮
textstart = xtfont.render('信息', True, GREEN)
# 获取文字图像位置
text_rect = textstart.get_rect()
# 设置文字图像中心点
text_rect.centerx = 675
text_rect.centery = 365
# 绘制内容
screen.blit(textstart, text_rect)
cars = pi_table[['carnumber', 'date', 'state']].values
if len(cars)>0:
longcar=cars[0][0]
cartime =cars[0][1]
# 使用系统字体
xtfont = pygame.font.SysFont('SimHei', 15)
# 转换当前时间 2018-12-11 16:18
localtime = time.strftime('%Y-%m-%d %H:%M', time.localtime())
htime = timeutil.DtCalc(cartime, localtime)
# 重新开始按钮
textscar = xtfont.render('停车时间最长车辆:'+str(longcar), True, RED)
texttime = xtfont.render("已停车:" + str(htime) + '小时', True, RED)
# 获取文字图像位置
text_rect1 = textscar.get_rect()
text_rect2 = texttime.get_rect()
# 设置文字图像中心点
text_rect1.centerx = 820
text_rect1.centery = 320
text_rect2.centerx = 820
text_rect2.centery = 335
# 绘制内容
screen.blit(textscar, text_rect1)
screen.blit(texttime, text_rect2)
pass
人工智能腾讯AI:车牌识别停车场管理系统
车牌OCR接口
-
接口描述
根据用户上传的车牌图像,返回识别出的车牌字段信息。 - 请求参数
参数名称 是否必选 数据类型 数据约束 示例数据 描述
app_id 是 int 正整数 1000001 应用标识(AppId)
time_stamp 是 int 正整数 1493468759 请求时间戳(秒级)
nonce_str 是 string 非空且长度上限32字节 fa577ce340859f9fe 随机字符串
sign 是 string 非空且长度固定32字节 签名信息,详见接口鉴权
image 否 string 原始图片的base64编码数据(原图大小上限1MB,支持JPG、PNG、BMP格式),image和image_url必须至少提供一个 ... 待识别图片
image_url 否 string image和image_url都提供,仅支持image_url,image和image_url必须至少提供一个 ... 待识别图片url - 响应参数
参数名称 是否必选 数据类型 描述
ret 是 int 返回码; 0表示成功,非0表示出错
msg 是 string 返回信息;ret非0时表示出错时错误原因
data 是 object 返回数据;ret为0时有意义- item_list 是 array 识别出的所有字段信息
-
- item 是 string 字段名称
-
- itemstring 是 string 字段识别出来的信息
-
- itemcoord 是 object 字段在图像中的像素坐标,包括左上角坐标x,y,以及宽、高width, height
-
- itemconf 是 float 字段置信度
车牌识别停车场管理系统视频课程请添加链接描述学习地址:https://edu.51cto.com/sd/969e4
掌握基于腾讯人工智能(AI)的车牌识别技术,使用车牌识别技术实现一个完整的停车场管理系统,项目包括网页调用摄像头拍照,车牌拍照识别,上传车牌图片识别,用户管理,车辆管理(临时车与包月车),车辆出场,入场管理,停车费收费管理,按照临时车或包月车自动计算停车费,系统参数设置,修改用户密码及安全退出等功能,该系统采用Jsp技术,使用SSM框架,Mysql数据库,ajax技术及人工智能等相关技术实现。
项目开发技术:java,jsp,mysql,MyBatis,SpringMVC,jquery,ajax,json
项目运行环境:jdk1.7及以上版本,tomcat6.0及以上版本,mysql5.5及以上版本
项目开发工具: 本项目开发工具是Eclipse,也支持myEclipse,Intellij Idea等其他版本开发工具
以上是关于python智能停车场车牌识别计费系统百度ai的主要内容,如果未能解决你的问题,请参考以下文章