使用pytesseract库在Python中自动识别图片中的中文文字
发布时间:2023-12-26 08:30:53
pytesseract是一个OCR(光学字符识别)工具,可以自动识别图片中的文字。它是基于Google开源的Tesseract OCR引擎的Python接口。
在使用pytesseract之前,请先确保已经安装了Tesseract OCR引擎并配置好环境变量。你可以从Tesseract OCR的官方网站(https://github.com/tesseract-ocr/tesseract)下载并安装它。
接下来,我们使用pytesseract来实现图片中中文文字的识别。以下是一个示例代码:
import pytesseract
from PIL import Image
# 设定tesseract.exe所在的路径,如果tesseract已经添加到环境变量中,可以省略这一步
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
# 读取图片
image = Image.open('example.png')
# 识别图片中的文字
text = pytesseract.image_to_string(image, lang='chi_sim')
# 打印识别结果
print(text)
在上面的例子中,我们首先导入了pytesseract和PIL库。然后使用pytesseract.pytesseract.tesseract_cmd设置Tesseract OCR引擎的路径。接下来,使用Image.open打开要识别的图片。最后,使用pytesseract.image_to_string函数将图片中的文字识别为字符串,并通过打印输出来展示识别结果。
需要注意的是,lang参数指定了识别的文字语言。上面的例子中使用了'chi_sim'表示简体中文。你可以根据需要更改这个参数。
此外,你也可以通过调整图片的预处理来提高识别的准确率。例如,使用PIL库的ImageOps.invert函数进行反色处理、使用ImageOps.autocontrast函数自动调整对比度等等。
总结:使用pytesseract库在Python中自动识别图片中的中文文字,可以通过pytesseract.image_to_string函数实现。确保已经正确安装和配置了Tesseract OCR引擎,并使用合适的lang参数指定要识别的文字语言。通过对图片进行预处理,可以提高识别的准确率。
