使用pytesseract实现OCR入门级实战教程

本教程介绍使用Python进行图像预处理和文字识别。先进行环境配置,安装所需库和tesseract并配置环境变量。接着导入相关库,对图像进行预处理,可选择阈值化或中值模糊。然后用pytesseract进行文字识别,使用中文和英文语言模型,最后展示识别效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本教程将学习使用Python对图像进行预处理,并使用pytesseract库进行文字识别。

0. 环境配置

0.1. 库

确保你已经安装了所需的库,可以通过以下方式安装:

pip install pillow

pip install pytesseract

pip install opencv-python

0.2. tesseract安装

① 安装Index of /tesseract  

或者从百度网盘进行下载百度网盘 请输入提取码

② 配置环境变量

D:\Tesseract-OCR为软件下载的地址

1. 导入库

from PIL import Image
import pytesseract
import cv2
import os

PIL用于图像处理,pytesseract用于OCR(光学字符识别),cv2用于图像的读取和显示。

2. 导入图像+预处理

preprocess = 'blur'  # thresh

image = cv2.imread('test0.jpg')  # 此处修改需要识别的图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

if preprocess == "thresh":
    gray = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]
elif preprocess == "blur":
    gray = cv2.medianBlur(gray, 3)

根据preprocess变量的值对灰度图像进行预处理。

如果是thresh则使用Otsu的方法进行阈值化处理;如果是blur则使用中值模糊。

3. 文字识别

filename = "{}.png".format(os.getpid())
cv2.imwrite(filename, gray)

text = pytesseract.image_to_string(Image.open(filename), lang='chi_sim+eng')
print(text)
os.remove(filename)

cv2.imshow("Image", image)
cv2.imshow("Output", gray)
cv2.waitKey(0)

使用pytesseract对保存的图像进行文字识别,并将结果打印出来。之后删除了临时文件。

chi_sim+eng同时使用中文(简体)和英文的语言模型进行文字识别。

4. 效果

导入的图

OCR结果

5. 🆗

至此我们就完成一个简单的OCR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值