Tesseract 是一款强大的开源 OCR(光学字符识别)引擎,可以用于从图像中提取文本。以下是使用 Python 和 Tesseract 进行文字识别的示例代码:
首先,确保你已经安装了 Tesseract。你可以按照官方网站上的指南进行安装,并设置好环境变量。
接下来,你可以使用 Python 中的 pytesseract
库来调用 Tesseract。以下是一个示例代码,它会加载一张图片,进行简单的图像处理,然后使用 Tesseract 进行文字识别:
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 22 15:06:57 2024
OCR字符识别 Tesseract
@author: cnliutz
"""
# 1.安装 Tesseract OCR 引擎
#tesseract 安装下载地址 https://github.com/UB-Mannheim/tesseract/wiki
#tesseract 语言包下载地址 https://github.com/tesseract-ocr/tessdata Global Language
#中文包 https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
#请把文件chi_sim.traineddata放到 C:\Program Files\Tesseract-OCR\tessdata\chi_sim.traineddata
# 2.打开DOS命令窗口,安装需要的库
#pip install pytesseract
#pip install pillow
#pip install opencv-python
#pip install numpy
# 导入所需的库
from PIL import Image #pip install pillow
import pytesseract
import argparse
import cv2 #pip install opencv-python
import os
# Set the path to the Tesseract OCR engine
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR/tesseract.exe'
# 构建参数解析器并解析参数
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True, help="输入要进行OCR的图像路径")
ap.add_argument("-p", "--preprocess", type=str, default="thresh", help="预处理类型PREPROCESS: 'thresh' 或者 'blur'")
args = vars(ap.parse_args())
# 加载示例图像并将其转换为灰度图像
image = cv2.imread(args["image"])
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 根据预处理类型对图像进行处理
if args["preprocess"] == "thresh":
gray = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]
elif args["preprocess"] == "blur":
gray = cv2.medianBlur(gray, 3)
# 将灰度图像保存为临时文件,以便进行 OCR
filename = "{}.png".format(os.getpid())
cv2.imwrite(filename, gray)
# 使用 Tesseract 进行文字识别
text = pytesseract.image_to_string(Image.open(filename))
os.remove(filename) # 删除临时文件
# 打印识别结果
print(text)
在上述代码中,我们首先使用 Pillow 库打开图像并将其转换为灰度图像。然后,根据预处理类型(阈值分割或模糊处理),对图像进行相应的处理。最后,我们使用 pytesseract.image_to_string()
函数对处理后的图像进行文字识别。
你可以将上述代码保存为 ocr.py
文件,然后在命令行中运行:
python ocr.py --image images/example.png -p blur
这将对示例图像进行文字识别。请确保替换 images/example.png
为你要识别的实际图像路径。
tesseract 电脑环境安装,处理中文 参考网址
参考网址: https://blog.csdn.net/weixin_41013322/category_8760189.html
#简化版OCR代码!^^!
import pytesseract
from PIL import Image
# Set the path to the Tesseract OCR engine
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR/tesseract.exe'
# Open an image file
image_path = r'C:\Users\czliu\Documents\python/wz.png'
image = Image.open(image_path)
# Perform OCR on the image
text = pytesseract.image_to_string(image,lang='chi_sim')
# Print the extracted text
print(text)