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功能。在此示例中,我们将识别礼品卡背面的优惠券代码。
如您所见,凭证代码固定在左下角。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ç¾åæ¯è½´](https://www.dynamsoft.com/blog/wp-content/uploads/2021/01/dlr-blog-arrow.jpg)
在这种情况下,{0,0},{20,0},{20,100},{0,100}是用于确保参考区域的四个点。因此,我们在下面指出了特定区域。
无论图像如何缩放,该百分比区域都不会改变。这些自动批处理功能可帮助开发人员减少手工工作。例如,您可以使用模板来扫描大量表单。可以仅识别一张图像并将参考区域和文本区域另存为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和数据控制工具。开发人员可以完全控制数据并提高识别准确性。了解有关定义多个参考区域和文本区域的更多详细信息。