当前位置: 首页 > news >正文

停车场车牌识别计费系统,用Python如何实现?

关注+星标,每天学习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  

实现效果

相关文章:

  • 无法定位程序输入点Z9 qt assertPKcS0i于动态链接库F:\code\projects\06_algorithm\main.exe
  • react antd表格翻页时记录勾选状态
  • Hack The Box-Editorial
  • C++ 和C#的差别
  • 手写一个类似@RequestParam的注解(用来接收请求体的参数)
  • FlinkCDC 数据同步优化及常见问题排查
  • GIT 基于master分支创建hotfix分支的操作
  • if __name__ == “__main__“
  • 五款免费可视化利器分享,助力打造数字孪生新体验!
  • redis未授权访问漏洞复现
  • K8S中的某个容器突然出现内存和CPU占用过高的情况解决办法
  • 76. 最小覆盖子串(困难)
  • 在线教育平台,easyexcel使用案例
  • WebSocket 心跳机制如何实现
  • 昇思25天学习打卡营第6天|数据变换 Transforms
  • (三)从jvm层面了解线程的启动和停止
  • 【391天】每日项目总结系列128(2018.03.03)
  • AWS实战 - 利用IAM对S3做访问控制
  • Babel配置的不完全指南
  • extjs4学习之配置
  • iOS编译提示和导航提示
  • Laravel5.4 Queues队列学习
  • Lucene解析 - 基本概念
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • SQLServer之创建显式事务
  • STAR法则
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 大整数乘法-表格法
  • 配置 PM2 实现代码自动发布
  • 应用生命周期终极 DevOps 工具包
  • 智能网联汽车信息安全
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #php的pecl工具#
  • #pragma once
  • (06)金属布线——为半导体注入生命的连接
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (四)Controller接口控制器详解(三)
  • (一)SpringBoot3---尚硅谷总结
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .a文件和.so文件
  • .md即markdown文件的基本常用编写语法
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .net对接阿里云CSB服务
  • .NET中的Exception处理(C#)
  • @JoinTable会自动删除关联表的数据
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ Linux ] Linux信号概述 信号的产生
  • [@Controller]4 详解@ModelAttribute
  • [12] 使用 CUDA 加速排序算法
  • [2023年]-hadoop面试真题(一)
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [Angular 基础] - 指令(directives)
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)