mi-task/test/text-image/README.md

73 lines
1.9 KiB
Markdown
Raw Normal View History

2025-08-21 12:51:13 +08:00
# 文字识别程序(改进版)
这是一个使用OpenCV识别图片中文字的Python程序采用先识别白色区域再识别文字的两步法策略。
## 功能特点
- **两步识别策略**:先检测白色区域,再在白色区域内识别文字
- 使用HSV色彩空间精确分离白色区域
- 基于轮廓检测和特征分析的文字分类
- 能够识别数字1、2和字母B等字符
- 自动保存识别结果图片,包含区域标注和字符识别
## 安装依赖
```bash
pip install -r requirements.txt
```
## 使用方法
1. 将需要识别的图片放在`imgs/`文件夹中
2. 运行程序:
```bash
python text_image.py
```
## 程序流程
### 第一步:白色区域检测
1. 转换到HSV色彩空间
2. 使用颜色阈值分离白色区域
3. 形态学操作连接相近区域
4. 轮廓检测和筛选
### 第二步:文字识别
1. 在白色区域内提取ROI
2. 二值化处理突出文字
3. 查找文字轮廓
4. 特征提取和分类
## 识别原理
- **数字1**:垂直投影方差小,水平投影方差小,中心密度低
- **数字2**:垂直投影方差大,水平投影方差大,中心密度高
- **字母B**:水平投影方差大,整体密度高
## 输出说明
- **蓝色边框**:标注检测到的白色区域
- **绿色边框**:标注成功识别的字符
- **红色边框**:标注无法识别的字符
- **文字标签**显示识别结果1、2、B、unknown
## 输出文件
程序会在`imgs/`文件夹中生成:
- `result_1_improved.jpg`:第一张图片的识别结果
- `result_2_improved.jpg`:第二张图片的识别结果
## 优势
- 避免了复杂背景的干扰
- 提高了文字识别的准确性
- 清晰的区域划分和结果展示
- 更好的噪声过滤
## 注意事项
- 确保图片中有明显的白色区域
- 白色区域内的文字对比度要足够
- 程序会自动过滤太小的区域和轮廓
- 识别结果包含区域ID和字符ID信息