HyperLPR3汽车车牌识别

HyperLPR3 是开源高性能中文车牌识别框架,基于深度学习,专为智慧停车、交通监控、网约车场站大屏车牌抓拍识别开发。

具体代码如下:

python 复制代码
"""
pip install opencv-python
pip install hyperlpr3
pip install opencv-contrib-python
"""
import cv2
import hyperlpr3 as lpr3

# 1.车牌识别
def test_01():
    # 初始化识别器 detect_level:LOW快速 / HIGH高精度(停车场推荐HIGH)
    catcher = lpr3.LicensePlateCatcher(detect_level=lpr3.DETECT_LEVEL_HIGH)

    # 读取监控抓拍图片(车场摄像头截图)
    img = cv2.imread("a.jpeg")
    # 执行识别,返回列表:[(号牌,置信度,车牌类型索引,[x1,y1,x2,y2])]
    results = catcher(img)

    # 遍历打印识别结果
    plate_type_map = {0:"蓝牌",1:"黄牌",2:"新能源绿牌",4:"港澳牌",9:"双层黄牌"}
    for plate_code, conf, type_idx, box in results:
        x1,y1,x2,y2 = box
        print(f"车牌:{plate_code},置信度:{conf:.2f},类型:{plate_type_map.get(type_idx,'其他')}")
        print(f"车牌画面坐标:左上角({x1},{y1}) 右下角({x2},{y2})")
# 2.可视化绘制(在监控图上框出车牌 + 号牌文字)

def test_02():
    # 初始化识别器 detect_level:LOW快速 / HIGH高精度(停车场推荐HIGH)
    catcher = lpr3.LicensePlateCatcher(detect_level=lpr3.DETECT_LEVEL_HIGH)

    # 读取监控抓拍图片(车场摄像头截图)
    img = cv2.imread("a1.jpeg")
    # 执行识别,返回列表:[(号牌,置信度,车牌类型索引,[x1,y1,x2,y2])]
    results = catcher(img)
    # 循环绘制所有车牌
    for plate_code, conf, type_idx, box in results:
        text = f"{plate_code} {conf:.2f}"
        img = draw_plate_on_image(img, box, text)

    cv2.imwrite("result.jpg", img)
    cv2.imshow("识别结果", img)
    cv2.waitKey(0)

def draw_plate_on_image(img, box, text, color=(0,255,0), thickness=2):
    """
    复刻hyperlpr3内置绘图函数
    :param img: 原图mat
    :param box: [x1,y1,x2,y2] 车牌坐标
    :param text: 显示文字(车牌+置信度)
    """
    x1, y1, x2, y2 = box
    # 绘制车牌矩形框
    cv2.rectangle(img, (x1, y1), (x2, y2), color, thickness)
    # 绘制文字背景底色
    text_size, _ = cv2.getTextSize(text, cv2.FONT_HERSHEY_SIMPLEX, 0.6, 1)
    text_w, text_h = text_size
    cv2.rectangle(img, (x1, y1 - text_h - 5), (x1 + text_w, y1), color, -1)
    # 绘制文字
    cv2.putText(img, text, (x1, y1 - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255,255,255), 1)
    return img

if __name__ == "__main__":
    # test_01()
    test_02()
相关推荐
2601_9679791226 分钟前
pip在Python中的9个必须知道的用法
python·pip·版本控制·包管理工具·requirements.txt
曲径海盗1 小时前
【Python 学习第 58 天】列表方法
python·学习笔记·编程入门
DeepVisionary1 小时前
Runway开源机器人大模型Praxis-1,推演延迟压到62毫秒
python·自动化
Cooper252 小时前
DDC 命令成功但屏幕不动:用 gamma 表重做亮度映射
python·mac
师夷长技以自愈3 小时前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python
用户956256254293 小时前
15 分钟社媒简报 Agent:我只用了搜索和模型两步
python·api
Dumbness3 小时前
关键词回复里写了 {订单号},群机器人整条消息都炸了
python·微信
调接口的阿光3 小时前
调用对话接口时输出被截断怎么办:先看 finish_reason,再决定是续写一次、缩小范围,还是换成更短的格式(Python)
人工智能·python
Cooper253 小时前
单文件 Flask 跑通微信服务器校验:先跑通再谈工程化
python·flask
Cooper253 小时前
三源热榜去重加 AI 摘要:URL 唯一键踩出的三个坑
前端·python