# 文字识别程序(改进版) 这是一个使用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信息