欢迎访问宙启技术站
智能推送

利用pytesseract在Python中读取图片中的中文文字的方法

发布时间:2023-12-26 08:31:50

在Python中使用pytesseract库读取图片中的中文文字,需要先安装该库并下载对应的中文字库。以下是具体的步骤:

步骤1:安装pytesseract库

在命令行中输入以下命令来安装pytesseract库:

pip install pytesseract

步骤2:下载中文文字库

到tesseract官方github仓库(https://github.com/tesseract-ocr/tessdata)中下载chi_sim.traineddata文件,将其保存在项目的工作目录中。

步骤3:安装tesseract OCR引擎

根据你的操作系统,安装相应的tesseract OCR引擎。Windows用户可以从https://github.com/UB-Mannheim/tesseract/wiki 下载安装程序,并按照指示进行安装。

步骤4:导入必要的库及函数

在Python项目中导入必要的库及函数:

import pytesseract
from PIL import Image

步骤5:读取图像中的文字

使用以下代码读取图像中的中文文字:

img = Image.open('image.png')  # 替换为你的图像路径
text = pytesseract.image_to_string(img, lang='chi_sim')
print(text)

这段代码中,我们首先使用PIL库中的Image.open函数打开待读取的图像文件,然后使用pytesseract库中的image_to_string函数提取图像中的文字,并将lang参数设置为'chi_sim'来指定使用中文语言。

使用例子:

假设我们有一张包含中文文字的图像文件image.png,其中的文字为"你好,世界"。我们可以使用以上给出的代码来读取图像中的文字:

import pytesseract
from PIL import Image

img = Image.open('image.png')
text = pytesseract.image_to_string(img, lang='chi_sim')
print(text)

输出结果应为:

你好,世界

需要注意的是,pytesseract只能从包含清晰,不带干扰的图片中提取文字。如果图像质量较差或文字被遮挡,可能无法正确提取。另外,如果图片中的文字颜色与背景颜色太接近,也可能导致提取错误的结果。