文本检测
Text Detection
📌 项目介绍
用 OpenCV 内置的 EAST 文本检测器,实时框出画面中的文字区域。EAST 是高效的深度学习文本检测模型,直接集成在 OpenCV DNN 模块里,无需单独训练。
检测出文字框之后,可再接 OCR(如 Tesseract/PaddleOCR)提取文字内容,实现「先定位、后识别」的完整流程,是文档识别与车牌识别的常用前置环节。
🧰 环境与物料
- 电脑 + 摄像头(或含文字的图片)
- Python 3.7+ 环境
- pip 安装:opencv-python、numpy
- 下载 EAST 模型权重(frozen_east_text_detection.pb)
🔧 步骤拆解
1
准备模型
从 OpenCV 官方或 GitHub 下载 EAST 模型文件
模型是 .pb 格式,OpenCV DNN 可直接加载
2
加载网络
用 cv2.dnn.readNet 加载模型
输出层固定为 'feature_fusion/Conv_7/Sigmoid' 等两个层
3
预处理输入
把图像等比缩放到模型输入尺寸(如 320×320)
记录缩放比例,检测结果按比例还原坐标
4
前向推理
blobFromImage 构建输入后 net.forward 推理
输出包含每点的置信度与文本框几何参数
5
解码文本框
从输出解码出文本框坐标与置信度
用 NMS(非极大值抑制)合并重叠框
6
绘制与接 OCR
在原图上绘制文字框
可选:把裁剪出的区域交给 OCR 识别内容
💡 要点提示
- EAST 对水平文字效果好,竖排/艺术字需要额外处理
- 置信度阈值一般设 0.5 左右,宁缺毋滥可调高到 0.6
- 输入尺寸越大精度越高但越慢,640 对实时场景可能吃紧