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()
相关推荐
benchmark_cc12 小时前
量化开发中,什么时候应该停止手动下载股票数据?
python·数据分析·pandas·量化交易·1024程序员节·股票数据·quantdash
泡茶喝茶写代码12 小时前
A股量化策略回测实战:从行情数据到绩效评估(第 15 篇):新高新低策略
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
全栈练习生13 小时前
Jev 决策模型
python·ai·1024程序员节
LMT流氓兔13 小时前
第五单元——第十二课:把脚本整理成项目
java·数据库·python·langchain·1024程序员节
光依旧13 小时前
day-trader-skill实测:让Claude Code当交易助理,纯Python+确定性+fail-closed
python·量化交易·ai agent·a股·风控·claude code·开源项目实测
CCblandy14 小时前
前缀缓存命中率不靠引擎靠排列:本机仿真 3 轮,易变字段放开头 98.0%→0.0%
人工智能·python·算法·自然语言处理·性能优化
Sakura_j_h_14 小时前
给 FastAPI 接大模型:超时、重试和 token 成本该怎么管
python·大模型·fastapi·超时重试·token计费
forest_0914 小时前
用Python复刻ClaudeDuet:主动式Agent四件套,定时晨报、后台巡检、危险动作审批(附完整可运行代码)
人工智能·python·架构·prompt·agi
小小张说故事15 小时前
Python 的函数调用到底贵在哪?拆开一次 call:51 纳秒栈帧与 *args 的 40 纳秒罚单
python
程序猿乐锅15 小时前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节