|
介绍你是否曾想过你的电脑如何能够从图像中读取文字?这都要归功于一种叫做光学字符识别(OpticalCharacterRecognition,OCR)的技术。在Python中,有一些非常酷的库可以帮助你的电脑理解图片中的文字。从谷歌强大的Tesseract到EasyOCR时髦的深度学习,这些库能够做一些非常了不起的事情。让我们来看看Python中的OCR库,了解这些库是如何将图像转换成可读文字的吧!目录EasyOCRDoctrKeras-OCRTesseractGOCRPytesseractOpenCVAmazonTextract结论1.EasyOCREasyOCR以其用户友好的方法和深度学习驱动的模型简化了使用Python从图像中提取文本的过程。它支持多种语言,使其适用于国际应用程序。无论是印刷的还是手写的,水平还是垂直对齐,EasyOCR都能熟练地处理各种文本样式和方向。它的效率确保了快速的性能,非常适合实时应用程序。EasyOCR的开源性质方便用户修改和贡献。它使用户能够根据自己的需求进行定制。它还提供了一种可靠且易于使用的方法,用于从照片中删除文本、优化文档处理、创建应用程序和提高可访问性。安装和实施EasyOCR的步骤步骤1:安装Python首先,确保你的系统上安装了Python。你可以从Python官方网站下载它并按照安装说明进行操作。步骤2:安装EasyOCR安装Python后,打开命令行或终端并运行以下命令使用pip安装EasyOCR。pip install easyocr步骤3:安装依赖项EasyOCR有一些需要安装的依赖项。不用担心;pip会自动帮你安装这些依赖项。步骤4:使用EasyOCR现在EasyOCR已安装,你的Python脚本可以使用它。这是如何使用EasyOCR从图像中提取文本的基本说明。import easyocr# Create an OCR reader objectreader = easyocr.Reader(['en'])# Read text from an imageresult = reader.readtext('image.jpg')# rint the extracted textfor detection in result: print(detection[1])如果你安装了EasyOCR,现在你可以在Python程序中轻松从照片中提取文本。无论你是要提高可访问性还是自动化数据输入,EasyOCR都能让文本提取变得简单。2.DoctrDoctr是一个用于文档理解和处理的Python库,专为机器学习和自然语言处理应用而设计。它有助于完成文档布局分析、文本提取和语义理解等任务。Doctr可识别文档中的文本区域、图像和表格,并提供光学字符识别以从各种格式中提取文本。它还旨在通过命名实体识别和情感分析来理解语义含义。Doctr可扩展、高效,适用于生产环境中的大量文档。它鼓励社区贡献,并为自定义组件提供可扩展的架构。安装和实施Doctr的步骤步骤1:安装Doctr你可以使用Python的包管理器pip安装Doctr。打开命令行或终端并运行以下命令。pip install doctr步骤2:导入必要的模块在你的Python脚本或笔记本中,导入文档处理任务所需的Doctr模块。例如:from doctr.models import ocr_predictor步骤3:加载文档根据你的使用情况,加载要处理的文档。Doctr支持各种文档格式,包括PDF和图像。步骤4:执行文档理解任务使用Doctr的功能执行文档布局分析、文本提取和语义理解等任务。例如,你可以使用OCR预测器从图像中提取文本:# Load an imageimage_path = 'example_image.jpg'# Create an OCR predictorpredictor = ocr_predictor.create_predictor()# erform OCR on the imageresult = predictor(image_path)# rint the extracted textprint(result)步骤5:与你的工作流程整合一旦你对实施感到满意,请将Doctr集成到你的工作流程或应用程序中,以自动执行文档处理任务并简化你的工作流程。这些步骤将帮助你在Python环境中安装和使用Doctr。以便你可以快速有效地完成与文档理解和处理相关的活动。3.Keras-OCRKeras-OCR是一个Python库,可通过Keras和TensorFlow框架简化OCR任务。它提供预训练模型,对各种文本和字体样式都具有高精度。其用户友好的API可轻松实现。Keras-OCR具有灵活的配置功能,允许自定义输入图像大小和目标语言等参数。其开源特性促进了协作环境,提高了生产力并将OCR功能集成到Python应用程序中。安装和实施Keras-OCR的步骤要在Python中实现Keras-OCR进行文本识别,请按照以下步骤操作:步骤1:安装Keras-OCR使用pip在你的Python环境中安装Keras-OCR库。pip install keras-ocr步骤2:导入必要的模块在你的Python脚本或笔记本中,从Keras-OCR导入所需的模块。import keras_ocr步骤3:加载预训练模型Keras-OCR提供了用于文本识别的预训练模型。你可以使用pipeline.Pipeline()函数加载其中一个模型。pipeline = keras_ocr.pipeline.Pipeline()步骤4:进行文本识别使用已加载的管道对图像执行文本识别。你可以将单个图像或图像列表传递给recognize()函数。images = ['image1.jpg', 'image2.jpg'] # List of image file pathspredictions = pipeline.recognize(images)这将返回每个图像的预测,包含有关检测到的文本区域和识别的文本的信息。步骤5:显示结果然后,你可以迭代预测以显示识别的文本并可视化文本区域:for image, prediction in zip(images, predictions): keras_ocr.tools.drawAnnotations(image=image, predictions=prediction)步骤6:集成最后,根据需要将文本识别功能集成到你的Python应用程序或工作流程中。按照以下步骤,你可以轻松地在Python项目中实现Keras-OCR进行文本识别。这些使你能够以高精度和高效率从图像中提取文本。4.TesseractTesseract是Google维护的一款开源OCR引擎。它以出色的图像文本识别准确度而闻名。它支持100多种语言,可以处理各种图像类型,包括扫描文档和照片。用户可以自定义页面分割模式和语言模型等参数,以优化识别准确度。Tesseract鼓励社区贡献,并且易于与Python集成,为开发人员提供了一个简单的界面,可将OCR功能整合到他们的应用程序中。安装和实施Tesseract的步骤为了在Python中使用TesseractOCR,需要安装pytesseract库。Tesseract引擎封装在此库中。以下是详细步骤:步骤1:安装Tesseract首先,你需要在系统上安装TesseractOCR引擎。你可以从此处下载并安装它:https://github.com/tesseract-ocr/tesseract步骤2:安装pytesseract接下来,pytesseract使用pip安装该库:pip install pytesseract步骤3:导入pytesseract在你的Python脚本或笔记本中导入pytesseract模块:import pytesseract步骤4:设置Tesseract路径(可选)如果Tesseract未安装在默认系统路径中,则必须使用pytesseract.pytesseract.tesseract_cmd变量来定义Tesseract的位置:pytesseract.pytesseract.tesseract_cmd = r'/path/to/tesseract'步骤5:执行OCR使用image_to_string()函数对图像执行OCR。将图像文件路径作为参数传递:# erform OCR on an imagetext = pytesseract.image_to_string('image.jpg')这将从图像中提取文本并将其存储在text变量中。步骤6:显示结果然后你可以根据需要打印或处理提取的文本:print(text)按照以下说明,你可以在Python环境中快速集成TesseractOCR以从照片中提取文本。请记住,Tesseract的准确性会根据多种变量而变化,包括语言、文本复杂性和图像质量。对于特定使用情况,修改参数和准备照片可以帮助提高OCR准确性。5.GOCRGOCR是一款开源OCR引擎,根据GNU通用公共许可证创建,允许用户在各种平台上从照片中提取文本。它包括一些基本的文本识别功能,并与众多系统兼容。但它主要专注于英语,不支持其他语言。由于缺乏积极的开发和有限的语言支持,与更现代的选项相比,它对某些应用程序的功效可能有限。安装和实施GOCR的步骤安装GOCR程序并利用其命令行界面(CLI)对照片执行光学字符识别是实施GOCR的第一步。以下是一般的实施方法:步骤1:安装GOCR根据你的操作系统,你可能能够使用包管理器(例如Ubuntu上的apt或macOS上的Homebrew)安装GOCR。或者,你可以下载源代码并手动编译。步骤2:准备图像准备包含要识别的文本的图像。确保图像清晰且质量足够高,以实现准确的OCR。步骤3:从命令行运行该库使用GOCR命令行界面对图片执行OCR。以下是在名为“image.jpg”的图片文件上运行GOCR的基本命令。gocr image.jpg它将处理图像并将识别的文本输出到终端。步骤4:处理输出一旦GOCR完成图像处理,你就可以从终端捕获输出文本并根据需要在应用程序中使用它。请记住,与更现代的OCR引擎相比,此库在准确性、语言支持和易用性方面可能存在局限性。如果GOCR达不到标准,则必须评估你的需求并考虑其他OCR选项。6.PytesseractPytesseract允许将Google的Tesseract-OCREngine集成到Python程序中。它提供了一种有效的光学字符识别方法。由于其直观的界面,用户几乎不需要任何编码知识就可以从照片中提取文本。Pytesseract支持多种语言,包括英语、法语、西班牙语和德语,并与Windows、macOS和Linux操作系统兼容。使用Pytesseract,可以处理不同字体、大小和样式的文本。开发人员可以调整OCR参数以最大限度地提高准确性。此外,Pytesseract还可以与PythonImagingLibraryPillow交互,从而实现OCR过程之前的预处理。安装和实施Pytesseract的步骤安装pytesseract库并使用它对照片执行光学字符识别(OCR)是pytesseract的实现。以下是如何在Python中逐步使用Pytesseract:步骤1:安装Tesseract在使用pytesseract之前,你需要在系统上安装TesseractOCR引擎。你可以从这里下载并安装它:https://github.com/tesseract-ocr/tesseract步骤2:安装pytesseract接下来,使用pip安装pytesseract库:pip install pytesseract步骤3:导入pytesseract在你的Python脚本或笔记本中导入pytesseract模块:import pytesseract步骤4:对图像执行OCR使用pytesseract中的函数image_to_string()对图像执行OCR。将图像文件路径作为参数传递:# erform OCR on an imagetext = pytesseract.image_to_string('image.jpg')这将从图像中提取文本并将其存储在text变量中。步骤5:可选配置你可以配置pytesseract以使用特定的OCR参数,例如语言和页面分割模式。例如:# Set language (default is English)pytesseract.pytesseract.tesseract_cmd = r'/path/to/tesseract'tessdata_dir_config = '--tessdata-dir "/usr/share/tesseract-ocr/4.00/tessdata"'text = pytesseract.image_to_string('image.jpg', config=tessdata_dir_config)步骤6:显示结果最后,你可以根据需要打印或处理提取的文本:print(text)这些步骤将帮助你快速将Pytesseract集成到Python环境中,以便你可以使用OCR从照片中提取文本。请记住,许多变量(如语言、文本复杂性和图像质量)都会影响OCR的准确性。对于特定使用情况,修改参数和准备照片可以帮助提高OCR准确性。7.OpenCVOpenCV由英特尔创建,并由全球开发者社区不断更新。它是计算机视觉和机器学习的重要工具。可用于各种用途,例如图像处理、对象检测、人脸识别、增强现实和机器人技术。它提供了广泛的功能和技术。OpenCV的Python接口有助于快速开发和原型设计,其跨平台兼容性保证可在多个系统上访问。OpenCV是计算机视觉的基础库,可与其他Python库(如NumPy、SciPy和TensorFlow)无缝集成。这使开发人员能够在一系列领域设计创新应用程序。安装和实施OpenCV的步骤安装库并利用其功能执行不同的计算机视觉任务构成了OpenCV的实现。以下是如何在Python中使用OpenCV处理图像的简单说明:步骤1:安装OpenCV使用pip在你的Python环境中安装OpenCV库。pip install opencv-python步骤2:导入OpenCV在你的Python脚本或笔记本中导入OpenCV库:import cv2步骤3:读取图像使用cv2.imread()函数从文件读取图像:# Read an image from fileimage = cv2.imread('image.jpg')步骤4:显示图像使用cv2.imshow()函数在窗口中显示图像:# Display the image in a windowcv2.imshow('Image', image)步骤5:等待用户输入使用cv2.waitKey()函数等待按键关闭窗口:# Wait for a key press and close the windowcv2.waitKey(0)cv2.destroyAllWindows()步骤6:执行图像处理(可选)你可以使用各种OpenCV函数执行图像处理任务,例如调整大小、裁剪、过滤等:# Resize the imageresized_image = cv2.resize(image, (width, height))# Convert the image to grayscalegray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# Apply Gaussian blur to the imageblurred_image = cv2.GaussianBlur(image, (5, 5), 0)步骤7:保存处理后的图像(可选)使用cv2.imwrite()函数将处理后的图像保存到文件:# Save the processed image to filecv2.imwrite('processed_image.jpg', processed_image)通过遵循这些步骤,你可以轻松地在Python环境中实现OpenCV来执行各种图像处理任务。OpenCV提供了广泛的功能和能力,允许你处理图像、检测对象、跟踪运动等等。尝试不同的函数和参数将帮助你探索OpenCV在计算机视觉应用中的全部潜力。8.AmazonTextractAmazonTextract是AmazonWebServices(AWS)提供的一项机器学习服务,可高效地从文档中提取文本和数据。它使用高级算法来识别和分析结构化数据,包括文本、表格和表单。它对财务报告和发票特别有用。Textract可自动提取键值对和表单数据,从而简化数据输入和处理工作流程。它还提供高级文档分析功能。AmazonTextract与其他AWS服务集成,确保可扩展性、高性能和可靠性。它还为金融、医疗保健、法律和政府等各个领域的文档处理提供了安全的环境。安装和实施AmazonTextract的步骤实施AmazonTextract涉及使用AWSSDK与TextractAPI交互。以下是在Python中实施AmazonTextract的步骤的高级概述:步骤1:设置AWS凭证确保你已配置具有适当权限的AWS凭证以访问Textract服务。步骤2:安装AWSSDK使用pip安装适用于Python(Boto3)的AWSSDK:pip install boto3步骤3:初始化Textract客户端使用Boto3库和你的AWS凭证创建Textract客户端对象:import boto3# Initialize Textract clienttextract_client = boto3.client('textract', region_name='your-region', aws_access_key_id='your-access-key-id', aws_secret_access_key='your-secret-access-key')步骤4:处理文件使用Textract客户端的analyze_document()方法分析文档,提取文本和数据:# rocess documentresponse = textract_client.analyze_document(Document={'S3Object': {'Bucket': 'your-bucket-name', 'Name': 'your-document-key'}}, FeatureTypes=['TABLES', 'FORMS'])这将返回包含从文档中提取的文本、表格和表单的响应。步骤5:访问提取的数据可以从响应对象中访问提取的文本、表格和表单,并根据需要进一步处理:# Extract textextracted_text = response['Blocks']# Extract tablesextracted_tables = [block for block in extracted_text if block['BlockType'] == 'TABLE']# Extract formsextracted_forms = [block for block in extracted_text if block['BlockType'] == 'KEY_VALUE_SET']步骤6:处理错误和异常实现错误处理,以优雅地处理文档处理过程中可能发生的异常和错误:try: response = textract_client.analyze_document(Document={'S3Object': {'Bucket': 'your-bucket-name', 'Name': 'your-document-key'}}, FeatureTypes=['TABLES', 'FORMS'])except Exception as e: print(f'Error processing document: {e}')步骤7:进一步处理与整合根据你的应用程序要求,你可能需要进一步处理提取的文本、表格和表单,并将其集成到你的工作流程或应用程序中。通过遵循这些步骤,你可以在Python应用程序中实施AmazonTextract,以从存储在AmazonS3中的文档中提取文本和数据。请务必参考AWS文档以获取有关TextractAPI及其用法的详细信息。结论光学字符识别(OCR)彻底改变了计算机文本理解,支持各种应用。Python提供了八个顶级OCR库,每个库都具有独特的功能。EasyOCR易于使用,Tesseract准确,AmazonTextract高效。OCR库可满足各种需求和用例,可自动执行任务、简化工作流程并从非结构化数据中提取有价值的见解。随着机器学习和计算机视觉的进步,OCR的未来充满创新和增强的光明前景。☆END☆如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「woshicver」,每日朋友圈更新一篇高质量博文。↓扫描二维码添加小编↓
|
|