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

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

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

http://www.jsqmd.com/news/89325/

相关文章:

  • 使用cmake构建Cplusplus版运行时库-–-behaviac
  • pytesseract 中英文 识别图片文字
  • 开源高性能IM+集成AI能力,基于SpringBoot +Tauri+Vue 3+TypeScript支持全平台与丰富会话模式
  • 基于 GEE 的 Landsat 8 数据构建遥感生态指数(RSEI)并进行生态质量评估
  • FOC开发工具学习
  • 类和对象(上)
  • 智能体开发系统学习实践
  • 马上2026年了,copilot还能用吗?
  • mysql中的索引页是什么?
  • 数据页和索引页有什么区别?
  • 《终极金钱心智》
  • 一文讲透XGBoost:从原理到实践的完整指南
  • 第13章:项目资源管理【章节重点】
  • EGSTalker踩坑日记第一弹
  • 图文详述:MySQL的下载、安装、部署、使用
  • 第14章:项目沟通管理【章节重点】
  • C#+VisionMaster联合开发(六)_控制器
  • Pelco KBD300A 模拟器:05.校验算法终极对比 + 完整 100+ 指令封装 + KBD300A 所有隐藏功能函数化
  • AI 如何从配置历史与变更日志中推理出“变更引发的故障”——自动化根因分析的因果推理引擎
  • 题目集4~5以及课堂测验的总结性Blog
  • 234回文链表
  • 练题100天——DAY26:汇总区间+丢失的数字+数组交集
  • 2025动漫剧本推荐,无需成本轻松创作
  • 22、正则表达式全解析:从基础到高级应用
  • 推荐一种并发线程中资源同步常用方法
  • 24、文本处理工具的使用与技巧
  • C#+VisionMaster联合开发(七)_通讯管理
  • Flutter 2025:从架构革命到商业落地,全面解析跨平台开发的“黄金时代”
  • 狮子老虎图像识别分类基于YOLO11-FasterNet实现含Python源码_268期
  • 2025 年 12 月胰岛素泵厂家最新推荐,如意泵,贴敷式与便携式二合一,全年龄段贴敷泵胰岛素泵公司选择指南 - 品牌鉴赏师