OCR图像识别
- 一、OCR是什么
 - 二、Python中如何实现OCR
 - 1.简单应用
 
- 三、OCR的核心步骤
 - 1.图像预处理(提高识别准确率)
 - 2.文字识别
 - 3.输出结果
 
- 四、OCR到的应用场景
 - 五、注意事项
 - 六、扩展学习
 
此贴用来更新在工作中遇到的一些图片解析内容
一、OCR是什么
OCR(Optical Character Recognition,光学字符识别) 是一种将图片中的文字自动识别并转换为可编辑文本的技术。比如:
- 把一张手写笔记的照片 ➡️ 转成Word文档
 - 把扫描的PDF文件 ➡️ 转成可搜索的文本
 
二、Python中如何实现OCR
请见:基于Tesseract OCR的文本识别方法及代码示例
1.简单应用
from PIL import Image
import pytesseract# 设置Tesseract路径(根据你的安装位置修改)
pytesseract.pytesseract.tesseract_cmd = r'E:\developer_tools\Tesseract-OCR\tesseract.exe'# 打开图片
image = Image.open("test.png")# 识别文字
text = pytesseract.image_to_string(image, lang='chi_sim+eng')  # 中英文混合识别# 打印结果
print(text)
 
三、OCR的核心步骤
1.图像预处理(提高识别准确率)
- 灰度化:将彩色图转为黑白
 - 二值化:让文字更清晰
 - 去噪:去除背景干扰
 
import cv2
image = cv2.imread("test.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 转为灰度
_, binary = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)  # 二值化
 
2.文字识别
text = pytesseract.image_to_string(binary, lang='chi_sim')
 
3.输出结果
- 直接保存为文本文件
 - 生成可搜索的PDF(如你问题中的代码)
 
四、OCR到的应用场景
| 场景 | 说明 | 
|---|---|
| 文档数字化 | 扫描件/照片转文本 | 
| 车牌识别 | 停车场自动识别车牌 | 
| 发票识别 | 自动提取发票金额、日期 | 
| 手写笔记识别 | 将手写内容转为电子版 | 
五、注意事项
1.图像质量决定效果:模糊、倾斜、低对比度的图片识别率低。
 2.多语言支持:Tesseract支持100+种语言,需额外下载语言包。
 3.复杂布局处理:表格、多列文本可能需要更复杂的处理。
六、扩展学习
- 其他OCR库: 
- easyocr:更适合中文场景
 - paddleocr:百度开发的OCR工具(中文效果优秀)
 
 - 深度学习OCR: 
- 使用YOLO等模型实现更复杂的文本检测和识别。