news 2026/5/26 7:37:33

HyperLPR3 车牌识别(python3)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HyperLPR3 车牌识别(python3)

HyperLPR已经更新到了v3的版本,该版本与先前的版本一样都是用于识别中文车牌的开源图像算法项目,最新的版本的源码可从github中提取:https://github.com/szad670401/HyperLPR

一、安装扩展

python -m pipinstallhyperlpr3 https://pypi.tuna.tsinghua.edu.cn/simple/

二、安装完成后命令测试

**# 命令测试**lpr3 sample -src https://image.xcar.com.cn/attachments/a/day_170125/2017012516_5cb21721d2f35a0f2984HCOTsEuQ6jwg.jpg **# 测试结果**----------------------------------------2025-12-1417:45:32.351|INFO|hyperlpr3.command.sample:sample:70 - 共检测到车牌:12025-12-1417:45:32.356|SUCCESS|hyperlpr3.command.sample:sample:73 -[绿牌新能源]沪AD079790.9516218900680542[582,1306,992,1431]

三、内置服务运行(方式1)

启动在线API服务
如果您有部署到云端去调用的需求,HyperLPR3中已经内置了启动WebApi服务的功能,支持一键启动,且自带SwaggerUI文档页面,相对方便友好:

1、命令启动

# 启动服务 workers为进程数量,请根据需求进行调节lpr3 rest --port8715--host0.0.0.0 --workers1

2、运行SwaggerUI文档
启动后可打开SwaggerUI的路径:http://localhost:8715/api/v1/docs 查看和测试在线识别API服务.

http://localhost:8715/api/v1/docs# 接口地址:localhost:8715/api/v1/rec

四、python代码运行(方式2)

包括视频识别和图片识别

1、完整代码

# 导入cv相关库importcv2importrandomimportwarningsimportnumpyasnpfromPILimportImageFontfromPILimportImagefromPILimportImageDrawimporthyperlpr3aslpr3# 辅助函数defdraw_plate_on_image(img,box1,text1,font):x1,y1,x2,y2=box1# 识别框的四至范围# random_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))cv2.rectangle(img,(x1,y1),(x2,y2),(0,0,255),2,cv2.LINE_AA)# 车牌外框# cv2.rectangle(img, (x1, y1 - 25), (x2, y1-3), (139, 139, 102), -1) # 识别文本底色data=Image.fromarray(img)# 读取图片draw=ImageDraw.Draw(data)# PIL绘制图片draw.text((x1,y1-27),text1,(0,0,255),font=font)# 添加识别文本res=np.asarray(data)# 返回叠加识别结果的图片returnres# 视频识别函数deflicense_recognition_video(path):video=cv2.VideoCapture()video.open(path)i=0whileTrue:i+=1ref,image=video.read()# 组帧打开视频ifref:ifi%10==0:results=catcher(image)# 执行识别算法forcode,confidence,type_idx,boxinresults:# [['京Q58A77', 0.9731929, 0, [150, 160, 451, 259]]]text=f"{code}-{confidence:.2f}"image=draw_plate_on_image(image,box,text,font=font_ch)# 绘制识别结果cv2.imshow("License Plate Recognition(Directed By RSran)",image)# 显示检测结果ifcv2.waitKey(10)&0xFF==ord('q'):break# 退出else:break# 图片识别函数deflicense_recognition_image(path):image=cv2.imread(path)# 读取图片results=catcher(image)# 执行识别算法print("results:",results)forcode,confidence,type_idx,boxinresults:# [['京Q58A77', 0.9731929, 0, [150, 160, 451, 259]]]text=f"{code}-{confidence:.2f}"print(text)image=draw_plate_on_image(image,box,text,font=font_ch)# 绘制识别结果cv2.imshow("License Plate Recognition(Directed By RSran)",image)# 显示检测结果cv2.waitKey(0)if__name__=="__main__":warnings.filterwarnings("ignore",message="Mean of empty slice")# 忽略“Mean of empty slice”的警告warnings.filterwarnings("ignore",message="invalid value encountered in scalar divide")# 忽略“invalid value encountered in scalar divide”的警告font_ch=ImageFont.truetype("./font/platech.ttf",20,0)# 中文字体加载catcher=lpr3.LicensePlateCatcher(detect_level=lpr3.DETECT_LEVEL_HIGH)# 实例化识别对象# 视频识别# file = r"Y:\2025-12-14 14-49-09.mp4"# license_recognition_video(file)# 图片识别license_recognition_image("./2.png")

2、运行结果:

results:[['辽BB888H', np.float32(0.9993448),0,[103,695,668,878]]]辽BB888H -1.00

备注:图片来源于网络,侵权删。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 6:45:12

2025动漫剧本推荐,无需成本轻松创作

2025动漫剧本推荐,无需成本轻松创作动漫作为一种深受大众喜爱的艺术形式,拥有着庞大的受众群体。而一个优秀的动漫剧本,则是动漫作品成功的关键。在2025年,有哪些值得推荐的动漫剧本创作工具呢?本文将为您介绍一款无需…

作者头像 李华
网站建设 2026/5/25 19:55:31

Linux 进程管理

在 Linux C/C 开发中,进程管理是系统编程的核心知识点之一。从父子进程的创建、进程的终止到僵尸进程的避免,每一个环节都影响着程序的稳定性。本文将从基础概念到实践代码,详细讲解 Linux 进程管理的关键技术。一、父子进程:写时…

作者头像 李华
网站建设 2026/5/25 13:31:06

JS函数语法(重点)

函数声明(命名函数)语法:function 函数名(参数) { 函数体; return 返回值 }// 求和函数 function sum(a, b) {return a b; // 返回值,无 return 则返回 undefined }// 调用函数 let result sum(1, 2); console.log(result); // …

作者头像 李华
网站建设 2026/5/26 4:51:09

SpringMVC的拦截器和过滤器有什么区别?执行顺序?

大家好,我是锋哥。今天分享关于【SpringMVC的拦截器和过滤器有什么区别?执行顺序?】面试题。希望对大家有帮助; SpringMVC的拦截器和过滤器有什么区别?执行顺序? 超硬核AI学习资料,现在永久免费…

作者头像 李华
网站建设 2026/5/25 13:58:16

Vue3 实时音频录制与转写 Composable 技术实现

Vue3 实时音频录制与转写 Composable 技术实现 前言 本文介绍如何基于 Vue3 Composition API 实现一个实时音频录制与转写的 Composable,涉及 Web Audio API、WebSocket 实时通信、音频格式转换等技术。 技术栈 Vue3 Composition API: 组合式函数封装MediaRecorder …

作者头像 李华
网站建设 2026/5/25 20:53:54

远程控制复现

一、漏洞测试 打开easy file sharing web server进入后修改端口点击go可以看到之后打开kali用searchsploit easy file sharing扫描漏洞利用对应的Python脚本攻击攻击完成,说明无法阻挡本身漏洞 二、kali生成被控端和启动主控端 先ifconfig查询kali的ip地址然后生成p…

作者头像 李华