利用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只能从包含清晰,不带干扰的图片中提取文字。如果图像质量较差或文字被遮挡,可能无法正确提取。另外,如果图片中的文字颜色与背景颜色太接近,也可能导致提取错误的结果。
