📅  最后修改于: 2023-12-03 15:40:05.128000             🧑  作者: Mango
文本识别(OCR)是一种将印刷或手写文档转换为可编辑文本的技术。Python有许多OCR库可供使用,这些库提供了强大的文本识别功能。本文将介绍Python中一些流行的文本识别库。
Tesseract是一种开源OCR引擎,由HP实验室开发。它支持超过100种语言,并且可以识别多种字体和字号。Tesseract是一个命令行工具,但是有许多Python包装器可用于将其与Python集成。以下是一个使用pytesseract包的示例代码:
import pytesseract
from PIL import Image
img = Image.open('image.png')
text = pytesseract.image_to_string(img)
print(text)
PyOCR是一个OCR库,支持多种OCR引擎,包括Tesseract,CuneiForm,GOCR等。它的API易于使用,以下是一个使用PyOCR的示例代码:
import pyocr
import pyocr.builders
from PIL import Image
tools = pyocr.get_available_tools()
tool = tools[0]
img = Image.open('image.png')
text = tool.image_to_string(img,
builder=pyocr.builders.TextBuilder())
print(text)
OCRopus是一个OCR引擎和文本分析工具。OCRopus可以进行自适应训练和分词,并提供了一个完整的OCR工作流程。以下是一个使用OCRopus的示例代码:
from ocrolib import binarize, threshold
from ocrolib.toplevel import boxes
from PIL import Image
img = Image.open('image.png')
bin_img = binarize.binarize(np.array(img))
img = threshold.denoise_median(bin_img, (3,3))
lines = boxes.lines_from_image(img)
for line in lines:
print(line)
Kraken是一个OCR引擎,用于处理建筑图纸中的文本。它支持多种OCR引擎,并提供了一套高度可配置的 OCR 管道。以下是一个使用Kraken的示例代码:
import kraken
from PIL import Image
img = Image.open('image.png')
text = kraken.image_to_text(img)
print(text)
EasyOCR是一个OCR库,使用深度学习技术进行文本识别。它支持多种语言,并且具有较高的准确性。以下是一个使用EasyOCR的示例代码:
import easyocr
from PIL import Image
reader = easyocr.Reader(['ch_sim', 'en'])
img = Image.open('image.png')
result = reader.readtext(np.array(img))
for r in result:
print(r[1])
以上是Python中一些流行的文本识别库的简介和示例代码。希望这些信息能帮助您在Python中进行文本识别。