python车牌识别系统 HyperLPR车牌识别(深度学习) 可视化 Django框架 ✅
1、项目介绍
技术栈: Python语言、Django框架、MySQL数据库、HyperLPR库车牌识别(深度学习)、Echarts可视化
系统功能 :
车牌号码识别,车牌所属省份,再给他搞个各省统计分析,柱状图,折线图这些、各省份地图、注册登录
2、项目界面
(1)车牌识别模块
(2)车牌识别统计可视化分析
(3)车牌识别各省份数量统计
(4)车牌识别记录管理
(5)车牌识别记录查看------包括识别车牌号、车牌归属地
(6)上传图片进行车牌识别
(7)注册登录
3、项目说明
人工智能的发展为我们提供了生活中的各种便利,不仅减少了人工的手工输入和录入,而且从某种程度上可以替代人工的一些方法。比如说我们深度学习的车辆识别,就是可以能够通过系统的手法来进行车牌的识别,能够将人为的传统方式进行一个修改。软件和系统的产生,从表面上来看是方便了某一行业和某一行业的用户,其实是从本质上来说是提高了社会的进步。就拿我们常见的出行而言,滴滴出行看似是为了打车和出行的人方便,但其实通过另外一种程度上来说,可以通过软件应用的调度和发展来为社会、城市出行的发展做出巨大的贡献。我们国家从最早的中国制造业演变到现在的“智造”,就是因为有软件信息系统的价值,能够将一些智慧的因素加入到制造的过程当中,而这一点就是软件系统来改变生产和现实的需求。在计算机时代日益发展的今天,计算机网络正快速融入这个社会的每一个领域。科技的发展是社会当中一种必有可少的方式。就现阶段而言,我们国家的经济发展水平高,私家车的数量在激增,那么对于车牌的识别来说,仅仅靠传统的人工方式来实现那几乎是不可能的,对于一些重点区域,比如说车辆的违法违章,以及车辆的高速口等等,这样的识别是需要软件系统来进行的。此背景之下呢,我们将深度学习的车牌识别系统作为一个此次重要的研究对象进行研究。此次我们还是使用的python技术来进行的开发,只有python语言的加持才能很好的实现我们此次的需求。
关 键 词:车牌识别;信息化;Python
4、核心代码
import os.path
from hyperlpr import HyperLPR_plate_recognition
import cv2
from PIL import ImageFont, ImageDraw, Image
import numpy as np
work_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def main(file_path):
image = cv2.imread(file_path) # 读入图片
image = image.copy()
result = HyperLPR_plate_recognition(image) # 识别车牌
plate = result[0][0] # 车牌号码
score = result[0][1] # 置信度
pt1 = (result[0][2][0], result[0][2][1]) # 车牌框左上角坐标
pt2 = (result[0][2][2], result[0][2][3]) # 车牌框右上角坐标
# 绘制车牌框
cv2.rectangle(image, pt1=pt1, pt2=pt2, color=(0, 255, 0), thickness=3)
try:
# 设置需要显示的字体
fontpath = os.path.join(work_dir,"uming.ttc")
font = ImageFont.truetype(fontpath, size=30) # 字体大小
image = Image.fromarray(image)
draw = ImageDraw.Draw(image)
# 绘制文字信息
draw.text((pt1[0] + 30, pt1[1] - 30), plate, font=font, fill=(0, 0, 255))
image = np.array(image)
print(plate)
print(score)
except Exception as e:
print(e)
return plate,score
#
用于识别图片中的车牌号码。
# 导入所需库:
# HyperLPR_plate_recognition: 来自于hyperlpr库,用于车牌识别。
# cv2: OpenCV库,用于图像处理。
# PIL (即Python Imaging Library): 用于在图像上绘制文本和框。
# 定义工作目录:work_dir变量用于定义当前脚本所在目录的父目录。
# 定义主函数main(file_path):
# 使用cv2.imread读取指定路径的图片。
# 使用HyperLPR_plate_recognition函数识别图片中的车牌。
# 从识别结果中提取车牌号码、置信度和车牌框的坐标。
# 使用OpenCV的cv2.rectangle函数在图片上绘制车牌框。
# 尝试在车牌框上方绘制车牌号码。首先,使用PIL库将OpenCV的图片转换为PIL图片,然后在上面绘制文本,最后再转换回OpenCV的图片格式。
# 如果在绘制过程中发生任何异常,会捕获该异常并打印错误信息。
# 最后,返回车牌号码和置信度。
# 注意:
# 该代码主要用于车牌识别,并在原始图片上绘制车牌框和车牌号码。识别结果(车牌号码和置信度)也会作为函数的返回值。
# 总的来说,这段代码是一个车牌识别,可以读取图片,识别其中的车牌号码,并在图片上绘制车牌框和车牌号码。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
标签:plate,车牌号码,image,源码,毕业设计,path,识别,车牌
From: https://blog.csdn.net/cfy2401926342/article/details/142931809