本教程将学习使用Python对图像进行预处理,并使用pytesseract库进行文字识别。
0. 环境配置
0.1. 库
确保你已经安装了所需的库,可以通过以下方式安装:
pip install pillow
pip install pytesseract
pip install opencv-python
0.2. 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