更新接口

This commit is contained in:
2025-09-04 00:07:52 +08:00
parent 95aa6b6bba
commit 6c7f013a0c
5 changed files with 290 additions and 187 deletions

View File

@@ -15,11 +15,10 @@ License_plate_recognition/
├── OCR_part/ # OCR识别模块
│ └── ocr_interface.py # OCR接口占位
├── CRNN_part/ # CRNN识别模块
│ └── crnn_interface.py # CRNN接口
│ └── crnn_interface.py # CRNN接口(占位)
└── LPRNET_part/ # LPRNet识别模块
├── lpr_interface.py # LPRNet接口
── Final_LPRNet_model.pth # 预训练模型文件
└── will_delete/ # 参考资料(可删除)
├── lpr_interface.py # LPRNet接口(已完成)
── LPRNet__iteration_74000.pth # LPRNet模型权重文件
```
## 功能特性
@@ -39,19 +38,22 @@ License_plate_recognition/
- 将倾斜的车牌矫正为标准矩形
- 输出标准尺寸的车牌图像供识别使用
### 4. PyQt界面
### 4. 多种识别方案
- 支持OCR、CRNN和LPRNet三种车牌识别方法
- LPRNet模型准确率高达98%
- 模块化接口设计,便于切换不同识别算法
### 5. PyQt界面
- 左侧:实时摄像头画面显示
- 右侧:检测结果展示区域
- 顶部显示识别到的车牌数量
- 每行显示:车牌类型、矫正后图像、车牌号
- 美观的现代化界面设计
### 5. 模块化设计
### 6. 模块化设计
- yolopart负责车牌定位和矫正
- OCR_part基于PaddleOCR的车牌号识别模块
- CRNN_part基于CRNN网络的车牌号识别模块
- LPRNET_part基于LPRNet网络的车牌号识别模块
- 各模块独立便于维护和扩展可通过修改main.py中的导入语句切换识别模块
- OCR_part/CRNN_part/LPRNET_part负责车牌号识别
- 各模块独立,便于维护和扩展
## 安装和使用
@@ -73,7 +75,21 @@ pip install -r requirements.txt
python main.py
```
### 5. 使用说明
### 5. 选择识别模块
`main.py` 中修改导入语句来选择不同的识别方案:
```python
# 使用LPRNet推荐准确率98%
from LPRNET_part.lpr_interface import LPRNmodel_predict, LPRNinitialize_model
# 使用OCR
from OCR_part.ocr_interface import LPRNmodel_predict, LPRNinitialize_model
# 使用CRNN
from CRNN_part.crnn_interface import LPRNmodel_predict, LPRNinitialize_model
```
### 6. 使用说明
1. 点击"启动摄像头"按钮开始检测
2. 将车牌对准摄像头
3. 系统会自动检测车牌并显示:
@@ -95,8 +111,9 @@ YOLO Pose模型输出包含
## 接口说明
### OCR/CRNN接口
车牌号识别部分使用统一接口:
### 车牌识别接口
项目为OCR、CRNN和LPRNet识别模块提供了标准接口
```python
# 接口函数名(导入所需模块,每个模块统一函数名)
@@ -108,7 +125,7 @@ LPRNinitialize_model()
# 预测主函数
from 对应模块 import LPRNmodel_predict
result = LPRNmodel_predict(corrected_image) # 返回7个字符的列表
```
### 输入参数
- `corrected_image`numpy数组格式的矫正后车牌图像
@@ -117,6 +134,14 @@ result = LPRNmodel_predict(corrected_image) # 返回7个字符的列表
- 长度为7的字符列表包含车牌号的每个字符
- 例如:`['京', 'A', '1', '2', '3', '4', '5']`
### LPRNet模块特性
- **高准确率**: 模型准确率高达98%
- **快速推理**: 基于深度学习的端到端识别
- **CTC解码**: 使用CTCConnectionist Temporal Classification解码算法
- **支持中文**: 完整支持中文省份简称和字母数字组合
- **模型权重**: 使用预训练的LPRNet__iteration_74000.pth权重文件
## 开发说明
### 添加新的识别算法