使用 IRONOCR

使用计算机视觉的OCR(示范教程)

Kannaopat Udonpant
坎那帕·乌东攀
2023年三月28日
更新 2024年一月28日
分享:

光学字符识别(OCR)是一项技术,可以使机器从图像中读取和解释文本,从而使数据处理和自动化更快速、更高效。 本文提供了使用 IronOCR 库的 OCR 计算机视觉的指南,以及如何增强文本识别能力,实现这一过程的自动化。

OCR 为什么重要?

OCR与计算机视觉是一种先进的光学字符识别(OCR)形式,利用人工智能和机器学习算法的力量,更准确、高效地从图像中识别文本字符。

计算机视觉图像处理算法允许 OCR 系统理解图像中文本的上下文和布局,并根据其形状和结构识别字符。 OCR 与计算机视觉相结合,可以从具有多种字体、样式和尺寸的复杂图像中提取文本,是文档数字化、数据提取和自动化的重要工具。

IronOCR: C# OCR 库

IronOCR 是一个流行的 OCR 库,使用计算机视觉技术从图像和文档中提取文本。 它易于使用,可与 C# 和 VB.NET 等多种编程语言集成。 IronOCR 有内部部署和云版本,提供一系列从图像中处理和提取文本的功能。

安装 IronOCR

要安装 IronOCR,请在 NuGet 软件包管理器控制台中使用以下命令:

:ProductInstall

IronOCR 的 OCR 系统

下图用于使用IronOCR测试计算机视觉的OCR系统

与计算机视觉的OCR(示例教程),图1:用于OCR检测的图像样本

用于 OCR 检测的图像示例

查找文本区域

FindTextRegion方法用于识别图像中的单个文本区域。 该方法接受多个可选参数,包括ScaleDilationAmountBinarizeInvert。 缩放调整图像的大小,DilationAmount 增加文本的粗细,二值化将图像转换为黑白色,而 Invert 反转图像的颜色。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using inputOCR = New OcrInput("test.jpg")
	inputOCR.FindTextRegion()
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

运行代码后,您将看到它使用机器学习过程从文本区域提取文本。 输出结果显示在控制台中,文本识别准确率几乎达到 100%。

使用计算机视觉进行OCR(示例教程),图2:文本提取过程的控制台结果

从文本提取过程中的控制台结果

FindMultipleTextRegions 方法

FindMultipleTextRegions 方法类似于 FindTextRegion 方法,但用于图像中有多个文本区域的情况。 它返回一个CropRectangle对象列表,这些对象定义了每个文本区域的位置。 当您想从包含多个文本部分的图像中提取文本时,这种方法非常有用。

using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using input = New OcrInput("test.jpg")
	input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

上面提供的代码片段是一个使用 IronOCR 库对图像文件执行 OCR 的示例。它首先导入 IronOCR 库并创建一个新的 IronTesseract 类实例。 然后,它使用输入图像文件的路径初始化一个OcrInput对象,并使用FindMultipleTextRegions方法应用一些图像校正的预处理技术

之后,它调用 IronTesseract 对象的 Read 方法,该方法对预处理的图像执行 OCR 并返回 OcrResult 对象。 从OcrResult对象中提取的文本随后存储在一个字符串变量中,并打印到控制台。

IronOCR 的输出结果

IronOCR 的输出非常准确,即使在处理具有多种字体、尺寸和文本样式的复杂图像时也是如此。

从图像中提取数据时,OCR 的准确性至关重要,因为提取的文本通常用于进一步处理,如数据分析、手动数据录入、机器学习或自然语言处理。 如果提取的文本包含错误,就会给下游工作带来麻烦。 此外,IronOCR 允许对结果对象进行调查以检查置信度水平

OCR 计算机视觉的使用案例

光学字符识别(OCR)技术已经彻底改变了处理打印文本的方式。 OCR 工具已成为文档处理和数据提取不可或缺的一部分。 以下是一些光学字符识别软件的使用案例:

OCR 车牌识别

车牌识别在交通管理自动化、停车系统及执法活动中起到了重要作用。 通过在 C# 中实现 OCR 计算机视觉,开发人员可以创建应用程序,从图像或实时视频馈送中快速准确地识别车牌。 该技术可用于

  • 监控交通违规行为,识别涉及犯罪活动的车辆。
  • 实现停车系统自动化,方便出入管理并简化计费流程。
  • 通过跟踪和监控车辆在禁区内的移动情况来加强安全措施。

从发票中提取文本

在C#中,OCR计算机视觉可用于开发OCR应用程序,从而自动从发票和其他财务文件中提取文本。 这一过程可以大大减少人工数据录入错误,简化会计任务。 主要优势包括

  • 通过自动化数据录入流程提高工作效率。
  • 提高准确性,因为 OCR 降低了人为错误的可能性。
  • 与会计软件和系统无缝集成,实现高效数据管理。

OCR 字幕生成

为视频创建字幕可能既耗时又费力。使用 C# 中的 OCR 计算机视觉可以通过自动检测和转录屏幕上的文本,从而简化这一过程,使开发人员能够:

  • 为电影、电视节目和在线视频制作准确的字幕。
  • 提高有听力障碍或使用不同语言的人的可访问性。
  • 通过为视频平台提供可搜索、可索引的内容,提高搜索引擎优化效果

OCR PDF 处理

PDF 被广泛用于共享和存储文档,但从中提取文本却具有挑战性。 C#中的OCR计算机视觉可以帮助开发人员构建OCR应用程序,轻松处理PDF文件并提取其内容,从而促进:

印刷文本数字化

OCR 软件被广泛用于将文档图像中的打印文本数字化。 OCR 工具可以从扫描的数字文档、PDF各种格式的图像中提取文本。 这在文档管理中尤其有用,您可以轻松搜索、存储和共享基于文本的文档。

数据提取

OCR 技术被广泛用于从发票、收据和表格等输入数据中提取数据。 OCR 模型可以识别和提取关键数据字段,如姓名、地址、日期和金额。 这样就无需手动输入数据,并减少数据处理中的错误。

图片搜索

OCR 技术还可用于图像搜索,您可以根据图像中包含的文本搜索图像。 这对大型图片库尤其有用,因为人工搜索会耗费大量时间。

翻译

OCR 软件可用于从一种语言的文档中提取文本并将其翻译成另一种语言。 这对需要快速准确翻译文件的国际企业尤其有用。

摘要

光学字符识别(OCR)是一种使计算机能够从图像中读取文本的技术。 OCR 和计算机视觉非常重要,因为它可以让机器理解和解释视觉世界,这对于自动驾驶汽车、机器人和自动文档处理等应用至关重要。

IronOCR 是一款功能强大的 OCR 引擎,可用于将 OCR 与计算机视觉相结合,准确识别文本并从图像中进行文本提取。 它提供了一系列用于查找和提取文本区域的方法,包括 FindTextRegionFindMultipleTextRegionsGetTextRegions。 每个方法都有自己的一组参数,可以用于微调OCR过程,并提供高OCR准确性。

通过使用IronOCR,您可以利用并发自定义配置快速准确地提取输入图像中的扫描文本,这可以在处理大量输入图像数据时为您节省时间和精力。 无论您使用的是扫描文件、照片还是屏幕截图,IronOCR 都能帮助您解锁其中包含的文本。

IronOCR为想要在购买决策前测试软件的用户提供免费试用IronOCR的许可证从$749起,包括一年的支持和更新。 IronOCR 功能强大、价格合理,对于正在寻找可靠、OCR 准确率高的 OCR 解决方案的人来说,IronOCR 是一个不错的选择。

Kannaopat Udonpant
坎那帕·乌东攀
软件工程师
在成为软件工程师之前,Kannapat 从日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了生物生产工程系车辆机器人实验室的成员。2022年,他利用自己的 C# 技能加入了 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他能直接向编写 IronPDF 大部分代码的开发者学习。除了同伴学习,Kannapat 还享受在 Iron Software 工作的社交方面。不写代码或文档时,Kannapat 通常在 PS5 上玩游戏或重看《最后生还者》。
< 前一页
OCR 收据数据提取(逐步教程)
下一步 >
如何在C#中OCR 驾照