Python 开源库,用于从图像中提取文本
利用 PyTesseract OCR 轻松提取印刷或手写文本。
什么是 PyTesseract API?
PyTesseract 是 Tesseract-OCR 的 Python 封装,它是一个功能强大的开源工具,可用于从图像中提取文本。 该库可帮助开发者将扫描的文档、手写笔记或图像中的文本转换为计算机可读的格式。 PyTesseract 广泛用于自动化、数据提取、文档数字化以及需要光学字符识别(OCR)的 AI 应用程序。
该库特别适用于自动数据输入、从屏幕截图中提取文本以及数字化印刷文档。 通过支持多种语言和高级图像处理技术,PyTesseract 提供了高效、灵活的文本提取解决方案。
PyTesseract API 的主要功能
- 将图像转换为文本: 使用 OCR 从图像中提取印刷或手写文本。
- 支持多种语言: 通过 Tesseract OCR 识别 100 多种语言。
- 兼容图像预处理: 支持与 OpenCV 和 PIL 结合使用,提高 OCR 识别效果。
- 从 PDF 提取文本: 将扫描的 PDF 文件转换为可搜索文本。
- 带位置信息的文本提取: 提取文本并获取其在图像中的位置。
- 批量处理支持: 可同时对多个图像进行 OCR 处理。
- 跨平台兼容: 适用于 Windows、macOS 和 Linux。
- 开源项目: 免费使用,并由社区维护和支持。
安装 PyTesseract
在使用 PyTesseract 之前,请确保您的系统已安装 Tesseract-OCR。
安装步骤
安装 PyTesseract 及其依赖项
pip install pytesseract pillow opencv-python
在 Windows 上安装 Tesseract-OCR:
Windows 安装 Tesseract-OCR
# 从以下链接下载 Tesseract:
https://github.com/UB-Mannheim/tesseract/wiki
在 Linux 上安装:
Linux 安装 Tesseract-OCR
sudo apt install tesseract-ocr
使用 PyTesseract API 进行文本提取的代码示例
示例 1:从图像中提取文本
从图像中提取文本
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
image = Image.open("sample.png")
text = pytesseract.image_to_string(image)
print(text)
示例 2:带位置信息的文本提取
带位置信息的文本提取
import pytesseract
import cv2
image = cv2.imread("sample.png")
h, w, _ = image.shape
boxes = pytesseract.image_to_boxes(image)
for b in boxes.splitlines():
b = b.split()
x, y, x2, y2 = int(b[1]), int(b[2]), int(b[3]), int(b[4])
cv2.rectangle(image, (x, h - y), (x2, h - y2), (0, 255, 0), 2)
cv2.imwrite("output.png", image)
示例 3:从灰度图像中提取文本
从灰度图像中提取文本
import pytesseract
import cv2
image = cv2.imread("sample.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(gray)
print(text)