2025-08-21 12:51:13 +08:00
..
2025-08-21 12:51:13 +08:00
2025-08-21 12:51:13 +08:00
2025-08-21 12:51:13 +08:00
2025-08-21 12:51:13 +08:00

文字识别程序(改进版)

这是一个使用OpenCV识别图片中文字的Python程序采用先识别白色区域再识别文字的两步法策略。

功能特点

  • 两步识别策略:先检测白色区域,再在白色区域内识别文字
  • 使用HSV色彩空间精确分离白色区域
  • 基于轮廓检测和特征分析的文字分类
  • 能够识别数字1、2和字母B等字符
  • 自动保存识别结果图片,包含区域标注和字符识别

安装依赖

pip install -r requirements.txt

使用方法

  1. 将需要识别的图片放在imgs/文件夹中
  2. 运行程序:
    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信息