HyperLPR3车牌识别-五分钟搞定: 中文车牌识别光速部署与使用
简介
HyperLPR在2023年初已经更新到了v3的版本,该版本与先前的版本一样都是用于识别中文车牌的开源图像算法项目,最新的版本的源码可从github中提取:https://github.com/szad670401/HyperLPR
支持多种类型车牌
快速安装
使用Python平台可以直接使用pip进行安装,方便快捷:
python -m pip install hyperlpr3
快速测试
安装成功后,可以使用命令行工具对本地图像或在线url进行快速测试,这边我们使用一张新能源的车辆照片进行测试:
lpr3 sample -src https://image.xcar.com.cn/attachments/a/day_170125/2017012516_5cb21721d2f35a0f2984HCOTsEuQ6jwg.jpg
测试结果如下:
----------------------------------------
2023-02-28 11:27:28.658 | INFO | hyperlpr3.command.sample:sample:70 - 共检测到车牌: 1
2023-02-28 11:27:28.659 | SUCCESS | hyperlpr3.command.sample:sample:73 - [绿牌新能源]沪AD07979 0.9999245405197144 [582, 1306, 992, 1431]
启动在线API服务
如果您有部署到云端去调用的需求,HyperLPR3中已经内置了启动WebApi服务的功能,支持一键启动,且自带SwaggerUI文档页面,相对方便友好:
# 启动服务 workers为进程数量,请根据需求进行调节
lpr3 rest --port 8715 --host 0.0.0.0 --workers 1
启动后可打开SwaggerUI的路径:http://localhost:8715/api/v1/docs 查看和测试在线识别API服务:
启动后即可对车牌识别Api进行使用
在Python代码中快速上手
如果您需要在自己的Python工程中引入HyperLPR3进行车牌识别功能的开发,那您可以使用如下代码进行调用:
# 导入opencv库
import cv2
# 导入依赖包
import hyperlpr3 as lpr3# 实例化识别对象
catcher = lpr3.LicensePlateCatcher()
# 读取图片
image = cv2.imread("images/test_img.jpg")
# 识别结果
print(catcher(image))
仅需要3行代码即可完成对HyperLPR3库的调用
识别并绘制结果
返回的数据解析非常简单,参考以下代码内容即可,中文字体可在在此下载:https://github.com/szad670401/HyperLPR/blob/master/resource/font/platech.ttf?raw=true
# 导入cv相关库
import cv2
import numpy as np
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
# 导入依赖包
import hyperlpr3 as lpr3def draw_plate_on_image(img, box, text, font):x1, y1, x2, y2 = boxcv2.rectangle(img, (x1, y1), (x2, y2), (139, 139, 102), 2, cv2.LINE_AA)cv2.rectangle(img, (x1, y1 - 20), (x2, y1), (139, 139, 102), -1)data = Image.fromarray(img)draw = ImageDraw.Draw(data)draw.text((x1 + 1, y1 - 18), text, (255, 255, 255), font=font)res = np.asarray(data)return res# 中文字体加载
font_ch = ImageFont.truetype("platech.ttf", 20, 0)# 实例化识别对象
catcher = lpr3.LicensePlateCatcher(detect_level=lpr3.DETECT_LEVEL_HIGH)
# 读取图片
image = cv2.imread("image.jpg")# 执行识别算法
results = catcher(image)
for code, confidence, type_idx, box in results:# 解析数据并绘制text = f"{code} - {confidence:.2f}"image = draw_plate_on_image(image, box, text, font=font_ch)# 显示检测结果
cv2.imshow("w", image)
cv2.waitKey(0)
绘制结果如下:
帮助
以上为HyperLPR3的Python端五分钟快速上手,需要获取其他的帮助,请移步到项目地址:https://github.com/szad670401/HyperLPR
HyperLPR3车牌识别-五分钟搞定: 中文车牌识别光速部署与使用相关推荐
- 五分钟搞定5000字-外文文献翻译,…
五分钟搞定5000字-外文文献翻译 工具大全 http://www.icoolen.com/node/2151 建议收藏 在科研过程中阅读翻译外文文献是一个非常重要的环节,许多领域高水平的文献都是外文 ...
- 启程 - 《每日五分钟搞定大数据》
<每日五分钟搞定大数据>原创系列,每周不定期更新.欢迎关注公众号:大叔据 想了很久,准备开始写一系列的文章,记录这些年来的所得所想,感觉内容比较多不知从哪里开始,画了个思维导图确定了大 ...
- 正则表达式里转义字符_五分钟搞定正则表达式,如果没搞定,再加两分钟
五分钟搞定正则表达式,如果没搞定,再加两分钟 [这是 ZY 第 18 篇原创文章] 文章概览 一.正则表达式介绍 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简 ...
- 五分钟搞定VS2017+TensorRT环境搭建
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 系统与环境要求 Windows10系统 ...
- 五分钟搞定:Centos中Kafka和Zookeeper的快速安装教程
[提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 代码案例地址: ?https://github.com/Mydreamandrea ...
- 五分钟搞定 HTTPS 配置,二哥手把手教
01.关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请.HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证 ...
- 吹牛的资本之Hibernate框架,五分钟搞定Hibernate...
Hibernate框架: (ps:有标记"百度网盘可看"的地方可在网盘中下载配有注释的原代码) 现在努力的敲代码,是为了以后可以选择敲不敲代码! 百度网盘:http://pan.b ...
- AI做PPT,五分钟搞定别人一天的量,最喜欢卷PPT了
用AI做PPT 主题生成大纲 制作PPT 主题生成大纲 如何使用人工智能工具,如ChatGPT和mindshow,快速生成PPT. gpt国内版 制作PPT,你可能只有一个主题,但没有明确的提纲或思路 ...
- 五分钟搞定 Linux 文档全部知识,就看这篇文章
作者:无痴迷,不成功 来源:见文末 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人 ...
最新文章
- iOS标准库中常用数据结构和算法之内存池
- Linux的文件最大连接数
- C、C++语言容易出错的几个地方
- 开源软件能够赚到钱吗
- linux more 下一页_Linux学习笔记
- Java字节序,java整型数与网络字节序 byte[] 数组转换关系(ByteArrayOutputStream用法)
- 考勤助手——数据库3.0版本
- php 三色排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,第2章 排序 | | 第17节 三色排序练习题...
- Axure-图表元件库
- [基于Python的微信公众号后台开发:1]配置对接阿里云服务器
- 浅谈对社会工程学的认识
- ideaIU-2017.3.4安装破解图文教程详细步骤
- 前端之JS篇(七)——Web APIsDOM部分内容
- 简易一键分享到QQ空间
- 全连接网络:实现第一个全连接网络
- Kejin Player (概率DP)hdu6656
- 2023年如何做谷歌SEO优化?谷歌优化排名怎么做?
- Ubuntu18.04 仿mac美化
- 计算机游戏设计师要学什么,浅析游戏设计师必须学习编程的理由
- 崩坏学园3里离摄像机近距离的头发透明效果在unity里的实现方法