LEADTOOLS SDK--提取名片信息 - Python

提取名片信息 - Python

本教程介绍如何使用 LEADTOOLS SDK 在 Python 控制台应用程序中执行名片检测和识别。

概述  
概括 本教程介绍如何使用 LEADTOOLS 名片识别 SDK 在 Python 控制台应用程序中执行名片识别。
完成时间 30分钟
Visual Studio 项目 下载教程项目 (1 KB)
平台 Python 控制台应用程序
集成开发环境 Visual Studio 2022
运行时目标 Python 3.10 或更高版本
开发许可证 下载 LEADTOOLS
尝试使用其他语言
  • C#:. NET 6+(控制台)

  • Java: Java

  • Python:Python

所需知识

在开始提取名片信息 - Python教程之前,请先查看添加引用和设置许可证以及加载和保存图像教程,熟悉创建项目和加载图像的基本步骤。

创建项目并添加 LEADTOOLS 引用

从“加载和保存图像”教程中创建的项目副本开始。如果您没有该项目,请按照该教程中的步骤创建。

所需的引用取决于项目的目的。可以通过 NuGet 包添加引用。

本教程需要以下 DLL:

  • Leadtools.dll
  • Leadtools.Ocr.dll
  • Leadtools.Barcode.dll
  • Leadtools.Codecs.dll
  • Leadtools.Forms.Commands.dll

有关您的应用程序所需的 DLL 文件的完整列表,请参阅应用程序要包含的文件。

设置许可证文件

许可证用于解锁项目所需的功能。必须在调用任何工具包函数之前设置许可证。有关详细信息(包括不同平台的教程),请参阅设置运行时许可证。

运行时许可证有两种类型:

  • 评估许可证,在下载评估工具包时获得。它允许对工具包进行评估。
  • 部署许可证。如果需要部署许可证文件和开发者密钥,请参阅获取许可证。

添加名片读取器代码

创建项目、添加引用、设置许可证以及添加加载图像代码后,就可以开始编码了。本教程不需要图像保存代码,因此可以将其注释掉或删除。

解决方案资源管理器中,打开Project-Name.py并将以下引用放置在“添加对 LEADTOOLS 的引用”注释下方

# Add references to LEADTOOLS 
from leadtools import LibraryLoader 
LibraryLoader.add_reference("Leadtools") 
from Leadtools import * 
LibraryLoader.add_reference("Leadtools.Codecs") 
from Leadtools.Codecs import * 
LibraryLoader.add_reference("Leadtools.Ocr") 
from Leadtools.Ocr import * 
LibraryLoader.add_reference("Leadtools.Barcode") 
from Leadtools.Barcode import * 
LibraryLoader.add_reference("Leadtools.Forms.Commands") 
from Leadtools.Forms.Commands import * 
 
from System.IO import * 

Project-Name.py在名为 的文件中添加一个新的方法。在方法内部extract_business_card(image)调用该方法后再调用此方法,如下所示。load_image()main()

def main(): 
 
    Support.set_license(os.path.join(DemosTools.get_root(), "C:/LEADTOOLS22/Support/Common/License")) 
 
    image = load_image(r"C:\LEADTOOLS22\Resources\Images\business_card_sample.jpg") 
    extract_business_card(image) 

将以下代码添加到方法中,从加载的RasterImageextract_business_card()中读取名片信息并将其显示到控制台。

def extract_business_card(image): 
 
    ocr_engine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD) 
    barcode_engine = BarcodeEngine() 
    ocr_engine.Startup(None, None, None, r"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime") 
 
    bc_reader = BusinessCardReader(ocr_engine, barcode_engine) 
 
    status = bc_reader.Process(image) 
 
    if (status == BCProcessStatus.BlurDetected): 
        print("Blur detected in image.") 
    elif (status == BCProcessStatus.GlareDetected): 
        print("Glare detected in image.") 
    elif (status == BCProcessStatus.Failed): 
        print("Failed to recognize image.") 
    elif (status == BCProcessStatus.Success): 
        if (bc_reader.Results != None): 
            for res in bc_reader.Results: 
                bounds = res.Value.Bounds 
                print(f"Field Name: {res.Key}") 
                print(f"Field Value: {res.Value.Value}") 
                print(f"Field Confidence: {res.Value.Confidence}") 
                print(f"Field Bounds: {bounds.X}, {bounds.Y}, {bounds.Width}, {bounds.Height}") 
                print("************************************") 

运行项目

按F5或选择“调试”->“开始调试”来运行项目。

如果正确执行了这些步骤,控制台就会出现,并且应用程序会在已加载的 中显示名片中的字段RasterImage。本教程使用以下文件路径中的示例:C:\LEADTOOLS22\Resources\Images\business_card_sample.jpg

LEADTOOLS SDK--提取名片信息 - Python_第1张图片

本教程展示了如何使用该类从图像中提取名片信息BusinessCardReader

参见

  • LEADTOOLS BusinessCardReader 文档
  • LEADTOOLS IOcrEngine 文档
  • LEADTOOLS SDK下载

你可能感兴趣的:(LEADTOOLS,23,python,开发语言)