更新接口
This commit is contained in:
53
README.md
53
README.md
@@ -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解码**: 使用CTC(Connectionist Temporal Classification)解码算法
|
||||
- **支持中文**: 完整支持中文省份简称和字母数字组合
|
||||
- **模型权重**: 使用预训练的LPRNet__iteration_74000.pth权重文件
|
||||
|
||||
## 开发说明
|
||||
|
||||
### 添加新的识别算法
|
||||
|
||||
Reference in New Issue
Block a user