彩票走势图

Dynamsoft Barcode Reader从文本识别到数据控制

翻译|使用教程|编辑:杨鹏连|2021-01-21 09:31:06.347|阅读 140 次

概述:Dynamsoft开发了一些由Dynamsoft Label Recognition SDK支持的新提取技术来控制数据。让我们向您展示我们是如何做到的。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Dynamsoft Barcode Reader SDK一款多功能的条码读取控件,只需要几行代码就可以将条码读取功能嵌入到Web或桌面应用程序。这可以节省数月的开发时间和成本。能支持多种图像文件格式以及从摄像机或扫描仪获取的DIB格式。使用Dynamsoft Barcode Reader SDK,你可以创建强大且实用的条形码扫描仪软件,以满足你的业务需求。

点击下载Dynamsoft Barcode Reader最新版

从文本识别到数据控制

学字符识别(OCR)可帮助用户从图像中捕获和识别文本信息。但是,基本的OCR技术无法满足日益增长的数据控制要求,这意味着在某些复杂的情况下,我们可能需要从指定区域提取关键数据。Dynamsoft开发了一些由Dynamsoft Label Recognition SDK支持的新提取技术来控制数据。让我们向您展示我们是如何做到的。

自动侦测

默认情况下,Dynamsoft标签识别SDK会自动检测文本区域,这意味着您将在一个结果中获取所有文本。当只有一条直线时,这很有用。对于这些情况,Dynamsoft标签识别提供了自动区域检测模式DLR_RPM_AUTO。

settings.regionPredetectionModes[0] = DLRRegionPredetectionMode::DLR_RPM_AUTO;
带状OCR

如果一个图像包含多个文本区域,则开发人员可以使用Dynamsoft标签识别功能为指定的文本区域运行区域OCR功能。在此示例中,我们将识别礼品卡背面的优惠券代码。

OCR礼品卡

如您所见,凭证代码固定在左下角。Dynamsoft Label Recognition提供了灵活的API,可帮助您指定单个区域以避免捕获不需要的文本。本文将向您展示如何在RuntimeSettings中使用referenceRegion和textArea来控制OCR结果。
    char error[512];

    DLRRuntimeSettings settings;
    dlr.GetRuntimeSettings(&settings);
    
    settings.referenceRegion= { { {0,0}, {20,0}, {20,100}, {0,100}}, 1 };
    settings.textArea = { { {0,80}, {20,80}, {20,100}, {0,100} } };
    dlr.UpdateRuntimeSettings(&settings, error, 512);
此功能基于百分比轴。{x1,y1},{x2,y2},{x3,y3},{x4,y4}是四个点,通常是从左上角到左下角顺时针输入。X和Y的取值范围是0到100,这意味着它位于x坐标的X%和y坐标的Y%处。

OCR百分比轴

在这种情况下,{0,0},{20,0},{20,100},{0,100}是用于确保参考区域的四个点。因此,我们在下面指出了特定区域。

OCR特定区域

无论图像如何缩放,该百分比区域都不会改变。这些自动批处理功能可帮助开发人员减少手工工作。例如,您可以使用模板来扫描大量表单。可以仅识别一张图像并将参考区域和文本区域另存为JSON文件模板。然后,您可以将此模板用于后续工作流程中的其他文档,以节省时间。

使用条形码

那么,您如何确定实现区域控制的确切百分比?当文本在条形码周围时,它将变得更加容易。如果大图像上的条形码很小,我们建议在预检测模式下使用RelativeBarcodeRegions参数以加快定位过程和识别精度。

借助Dynamsoft条形码阅读器SDK,开发人员可以快速解码条形码并存储结果。Dynamsoft标签识别提供了两个用于处理条形码结果的API:

RecognizeBasedOnDBRResultsByBuffer和RecognizeBasedOnDBRResultsByFile。

获得结果后,您还可以将条形码结果与OCR结果进行比较。

CLabelRecognition* recognizer = new CLabelRecognition();
recognizer->InitLicense("t0260NwAAAHV***************");
//Generate imageData from somewhere else
int errorCode = recognizer->RecognizeBasedOnDBRResultsByBuffer(imageData, "");
int errorCode = recognizer->RecognizeBasedOnDBRResultsByFile("C:\\Program Files (x86)\\Dynamsoft\\{Version number}\\Images\\Sample.png", "");
delete recognizer;
阅读具有特定背景颜色的文本

在我们的日常生活中,有大量带有丰富文本信息的彩色标签。一个日常用例示例是价格标签,其中文本位于黄色背景上。预处理背景区域可以节省识别时间。

阅读具有特定背景颜色的文本

假设您要指定用于区域检测的一组前景色和背景色。在这种情况下,我们建议使用ForeAndBackgroundColours参数定义前景色和背景色。

综上所述

Dynamsoft Label Recognition是文本识别SDK和数据控制工具。开发人员可以完全控制数据并提高识别准确性。了解有关定义多个参考区域和文本区域的更多详细信息。


想要购买Dynamsoft Barcode Reader正版授权,或了解更多产品信息请点击


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP