当前位置: 首页 > article >正文

【OCR】技术

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等模型实现更复杂的文本检测和识别。

http://www.kler.cn/a/613079.html

相关文章:

  • 【新手初学】读取数据库数据
  • VMware 安装 Ubuntu 实战分享
  • 2025美国网络专线国内服务商推荐
  • Qt SQL-2
  • 陪伴就诊 APP 功能架构:如何通过特定模块筛选优秀陪诊师
  • vscode在使用 alt + tab 切换程序窗口时,输入法总是自动变为中文模式
  • 电脑切换不同WiFi时,ip地址会自动切换吗?‌
  • Spring Boot添加全局异常处理器捕捉异常 跳转登录页面
  • 多少双手套 - 小米机试真题题解
  • Leetcode 使用最小花费爬楼梯
  • 封装红黑树模拟实现map和set
  • beanie.exceptions.CollectionWasNotInitialized
  • 84.仪器初始化的异步处理:从复杂到简洁的探索 C#例子 WPF例子
  • 百度文库标题生成器 v2.0:高效创作,一键生成文章优质标题生成器
  • 3.28学习总结
  • 第 2 章 | 智能合约攻击图谱全景解析
  • ??= 操作符
  • 基于Spring Boot的高校普法系统的设计与实现(LW+源码+讲解)
  • 中医卫气营血辨证
  • C语言基础系列【31】指针进阶4:指针与高级数据类型