【OCR】技术

OCR图像识别

此贴用来更新在工作中遇到的一些图片解析内容

一、OCR是什么

OCR(Optical Character Recognition,光学字符识别) 是​一种将图片中的文字自动识别并转换为可编辑文本的技术。比如:

  • 把一张手写笔记的照片 ➡️ 转成Word文档
  • 把扫描的PDF文件 ➡️ 转成可搜索的文本

二、Python中如何实现OCR

请见:基于Tesseract OCR的文本识别方法及代码示例

1.简单应用

python 复制代码
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.​图像预处理​(提高识别准确率)

  • 灰度化:将彩色图转为黑白
  • 二值化:让文字更清晰
  • 去噪:去除背景干扰
python 复制代码
import cv2
image = cv2.imread("test.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 转为灰度
_, binary = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)  # 二值化

2.​文字识别

python 复制代码
text = pytesseract.image_to_string(binary, lang='chi_sim')

3.​输出结果

  • 直接保存为文本文件
  • 生成可搜索的PDF(如你问题中的代码)

四、OCR到的应用场景

场景 说明
文档数字化 扫描件/照片转文本
车牌识别 停车场自动识别车牌
发票识别 自动提取发票金额、日期
手写笔记识别 将手写内容转为电子版

五、注意事项

1.图像质量决定效果 :模糊、倾斜、低对比度的图片识别率低。

2.多语言支持 :Tesseract支持100+种语言,需额外下载语言包。

3.复杂布局处理:表格、多列文本可能需要更复杂的处理。

六、扩展学习

  • 其他OCR库
    • easyocr:更适合中文场景
    • paddleocr:百度开发的OCR工具(中文效果优秀)
  • 深度学习OCR
    • 使用YOLO等模型实现更复杂的文本检测和识别。
相关推荐
Jayin_chan3 小时前
paddlex3.0.1-ocr服务化安装部署(docker)
docker·容器·ocr
一条数据库10 小时前
5000+张带XML标注的杂货货架数据集:专为目标检测与产品识别设计的零售AI训练数据,助力智能超市与计算机视觉研究
计算机视觉·ocr
AI人工智能+1 天前
表格识别技术:通过计算机视觉和OCR,实现非结构化表格向结构化数据的转换,推动数字化转型。
人工智能·计算机视觉·ocr
sky丶Mamba3 天前
OCR与多模态大模型:从“看见”文字到“读懂”世界的技术革命
ocr·多模态大模型
TextIn智能文档云平台5 天前
AI文档产品与传统OCR软件的根本区别是什么?
人工智能·ocr
doris6105 天前
固定资产管理系统核心功能拆解:批量导入、OCR 识别有多高效?
ocr·资产管理·固定资产管理系统
猫头虎5 天前
猫头虎AI分享:无需OCR,基于ColQwen2、Qwen2.5和Weaviate对PDF进行多模态RAG的解决方案
microsoft·ai·pdf·aigc·ocr·ai编程·ai-native
喜欢吃豆8 天前
从像素到篇章:深入剖析光学字符识别(OCR)的技术原理
人工智能·算法·语言模型·自然语言处理·大模型·ocr
AI人工智能+11 天前
竣工验收备案识别技术:通过AI和OCR实现智能化文档处理,提升效率与准确性,推动建筑行业数字化转型。
人工智能·nlp·ocr·竣工验收备案识别
df007df11 天前
【RAGFlow代码详解-10】文本处理和查询处理
人工智能·ocr·embedding·llama