简介
在最近的项目中有一个新的需求,之前在进行图像设别文字是基于ppocrLabel进行设别,由于ppocrLabel有一些小毛病,现在由web端进行图像的标,这时候就需要python程序进行对图像对文字的设别从而实现我们的需求。
设别的结果:开票日期
Tesseract
Tesseract 是一个开源的 OCR 引擎,由 Google 开发并维护。它能够识别多种语言的文本,并且在性能和准确性方面表现优异。Tesseract 可以处理各种图像格式,包括 JPG、PNG、TIFF 等,并支持多种操作系统,如 Windows、Linux、macOS 等。
安装 Tesseract
在开始之前,我们首先需要安装 Tesseract。当前我只在 macOS 上进行安装,其他环境没有进行测试,使用 Homebrew 进行安装:
brew install tesseract
注意点,当前下载包含“eng”、“osd”和“snum”语言数据文件。如果需要其他支持需要重新下载语言包。
brew install tesseract-lang
这里我之前已经安装过了,所有当前我使用的reinstall
Python 代码示例
在进行图片设别文字时,我需要再额外下载2个库
pip install pytesseract
pip install pillow
- Python 和 Tesseract 进行图像文字识别。我们将使用 pytesseract 库来与 Tesseract 引擎交互。
- Pillow 提供了一系列功能强大的图像处理工具,包括打开、保存、创建、编辑图像,以及图像格式的转换等。它是许多 Python 项目中首选的图像处理库。
import json
from PIL import Image
import pytesseract
def image_text(image_path):
image = Image.open(image_path)
text = pytesseract.image_to_string(image)
print(text)
if __name__ == "__main__":
imagePath = '/Users/kexiaobin/Desktop/image-resource/cjx01_20240413_10/cjx01_20240413_13/rec/crop_img/cjy01_20240411_1_crop_3.jpg'
image_text(imagePath)
注意点:如果不指定语言的话,默认设别图像的语言是英文
text = pytesseract.image_to_string(image)
print('设别结果:' + text)
如果想设别中文的话,必须自己设置设别的语言类型,可以通过命令查看安装的语言包
tesseract --list-langs
text = pytesseract.image_to_string(image, lang='chi_sim')
print('设别结果:' + text)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。