基于Opencv的车牌识别系统想必大家都会了,那么识别后计费系统会了吗?

基于Opencv的车牌识别系统想必大家都会了,那么识别后计费系统会了吗?,第1张

概述

车牌识别脚本我相信大家都见过很多,最多的应该就是基于Opencv来实现的,这个小编也是写过几篇,如果有感兴趣的可以关注小编去查看一下。最近听学弟讲,毕业设计是越来越难了。以前毕设只需要实现车牌识别即可,但是现在不行,车牌识别后是不是要计算他什么时候停进来的。

然后是怎么收费的,五块一小时还是三块,三小时怎么计算,相对而言比单纯的识别车牌又增加了一定的难度,那么今天也是实现大部分停车场的一个计费系统原理。可能它不是Python写的,但是肯定是一门编程语言来实现的。所以今天就教大家如果实现后续的计费系统。附完整代码,需要的拉到文末即可。

项目结构

 

 

说明:

  • datefile文件夹:保存车辆信息表的xlsx文件

  • file文件夹:保存图片文件夹。ic_launcher.jpg是窗体的右上角图标文件;income.png是实现收入统计的柱状图(下一篇文章实现);key.txt是使用百度的图片识别AI接口申请的key;test.jpg保存的是摄像头抓取的图片

  • venv文件夹:项目所需要的各种模块,即项目运行环境

  • btn.py文件:按钮模块

  • main.py文件:程序主文件

  • ocrutil.py文件:车牌识别模块

  • timeutil.py文件:时间处理模块

主要代码
# 车位文字
def text1(screen):
    # 剩余车位
    k = Total - carn
    if k < 10:
        # 剩余车位
        sk = '0' + str(k)
    else:
        sk = str(k)
    # 使用系统字体
    xtfont = pygame.font.SysFont('SimHei', 20)
    # 重新开始按钮
    textstart = xtfont.render('共有车位:' + str(Total) + '  剩余车位:' + sk, True, WHITE)
    # 获取文字图像位置
    text_rect = textstart.get_rect()
    # 设置文字图像中心点
    text_rect.centerx = 820
    text_rect.centery = 30
    # 绘制内容
    screen.blit(textstart, text_rect)


# 停车场信息表头
def text2(screen):
    # 使用系统字体
    xtfont = pygame.font.SysFont('SimHei', 15)
    # 重新开始按钮
    textstart = xtfont.render('  车号       时间    ', True, WHITE)
    # 获取文字图像位置
    text_rect = textstart.get_rect()
    # 设置文字图像中心点
    text_rect.centerx = 820
    text_rect.centery = 70
    # 绘制内容
    screen.blit(textstart, text_rect)
    pass


# 停车场车辆信息
def text3(screen):
    # 使用系统字体
    xtfont = pygame.font.SysFont('SimHei', 12)
    # 获取文档表信息
    cars = pi_table[['carnumber', 'date', 'state']].values
    # 页面就绘制10辆车信息
    if len(cars) > 10:
        cars = pd.read_excel(path + '停车场车辆表.xlsx', skiprows=len(cars) - 10, sheet_name='data').values
    # 动态绘制y点变量
    n = 0
    # 循环文档信息
    for car in cars:
        n += 1
        # 车辆车号 车辆进入时间
        textstart = xtfont.render(str(car[0]) + '   ' + str(car[1]), True, WHITE)
        # 获取文字图像位置
        text_rect = textstart.get_rect()
        # 设置文字图像中心点
        text_rect.centerx = 820
        text_rect.centery = 70 + 20 * n
        # 绘制内容
        screen.blit(textstart, text_rect)
    pass
实现效果 

 结语

     是不是也没有你们想的那么难,还是比较简单容易上手的吧,如果你会识别这个计费系统对你来讲是很简单的一件事,完整项目代码太多就没有一一发上来了,需要完整项目源代码的点这里获取或关注下方公众号即可

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/791875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存