跳至页脚内容
使用 IRONOCR

带有计算机视觉的 OCR(示例教程)

使用 IronOCR 进行光学字符识别 (OCR)

光学字符识别 (OCR) 是一种技术,使机器能够从图像读取和解释文本,从而加快数据处理和自动化,提高效率。 本文提供了使用 IronOCR 库进行 OCR 的指南,以及如何增强文字识别,实现自动化这一过程。

OCR 为什么重要?

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

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

IronOCR:C# OCR库

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

安装 IronOCR。

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

Install-Package IronOcr

使用 IronOCR 的 OCR 系统

使用 IronOCR 进行 计算机视觉的 OCR 系统测试的图像如下。

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

FindTextRegion 方法

FindTextRegion 方法用于识别图像中的单个文本区域。 该方法接受若干可选参数,包括 ScaleDilationAmountBinarizeInvert

  • Scale 调整图像尺寸以提高文本识别效果。
  • DilationAmount 增加文本厚度以增强可见性。
  • Binarize 将图像转换为黑白,提高对比度。
  • Invert 反转图像颜色,对于某些类型的图像非常有用。
using IronOcr;
using System;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var inputOCR = new OcrInput("test.jpg")) 
{
    // Identify a text region within the image
    inputOCR.FindTextRegion();

    // Perform OCR on the identified text region
    OcrResult result = ocr.Read(inputOCR);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;
using System;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var inputOCR = new OcrInput("test.jpg")) 
{
    // Identify a text region within the image
    inputOCR.FindTextRegion();

    // Perform OCR on the identified text region
    OcrResult result = ocr.Read(inputOCR);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr
Imports System

' Initialize the IronTesseract OCR engine
Private ocr = New IronTesseract()

' Create an OcrInput object for the image
Using inputOCR = New OcrInput("test.jpg")
	' Identify a text region within the image
	inputOCR.FindTextRegion()

	' Perform OCR on the identified text region
	Dim result As OcrResult = ocr.Read(inputOCR)

	' Extract and print the recognized text
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

注意:运行代码后,您将看到它使用机器学习过程从文本区域中提取文本。 输出结果在控制台中显示,具有高文本识别准确率。

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

FindMultipleTextRegions 方法

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

using IronOcr;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var input = new OcrInput("test.jpg"))
{
    // Identify multiple text regions within the image
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);

    // Perform OCR on the pre-processed image
    OcrResult result = ocr.Read(input);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var input = new OcrInput("test.jpg"))
{
    // Identify multiple text regions within the image
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);

    // Perform OCR on the pre-processed image
    OcrResult result = ocr.Read(input);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr

' Initialize the IronTesseract OCR engine
Private ocr = New IronTesseract()

' Create an OcrInput object for the image
Using input = New OcrInput("test.jpg")
	' Identify multiple text regions within the image
	input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)

	' Perform OCR on the pre-processed image
	Dim result As OcrResult = ocr.Read(input)

	' Extract and print the recognized text
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

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

IronOCR 的输出结果

即使是在包含多种字体、尺寸和文本样式的复杂图像中,IronOCR 的输出结果也非常准确。

在从图像中提取数据时,OCR 的准确性至关重要,因为提取的文本通常用于进一步的处理,如数据分析、手动数据输入、机器学习或自然语言处理。 如果提取的文本含有错误,可能会导致后续问题。 此外,IronOCR 允许研究结果对象以检查置信度水平

OCR 计算机视觉的用例

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

OCR 车牌识别

车牌识别 在自动化交通管理、停车系统和执法活动中发挥着重要作用。 通过在 C# 中实施 OCR 计算机视觉,开发人员可以创建快速、准确识别图像或实时视频流中车牌的应用程序。 这种技术可以用于:

  • 监控交通违规行为并识别涉及犯罪活动的车辆。
  • 自动化停车系统,促进车辆进出管理,简化计费流程。
  • 通过追踪和监控受限区域内的车辆移动来增强安全措施。

从发票中提取文本

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

  • 通过自动化数据输入过程提高生产力。
  • 提高准确性,因为 OCR 减少了人为错误的可能性。
  • 与会计软件和系统的无缝集成,实现高效的数据管理。

OCR 字幕生成

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

  • 为电影、电视剧和在线视频创建准确的字幕。
  • 提升对听力障碍者或讲不同语言者的可访问性。
  • 通过为视频平台提供可搜索、可索引的内容来提高 SEO 努力

OCR PDF 处理

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

数字化印刷文本

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

数据提取

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

图像搜索

OCR 技术也用于图像搜索,您可以根据图像中包含的文本进行图像搜索。 这对于大规模图像库特别有用,在其中手动搜索将耗费大量时间。

翻译

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

摘要

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

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

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

IronOCR 提供免费试用,供想要在购买决定前测试软件的用户。 IronOCR 的许可证从 $799 起,包含一年的支持和更新。 凭借其强大的功能和合理的定价,IronOCR 是寻找可靠高 OCR 准确性的 OCR 解决方案的绝佳选择。

常见问题解答

如何使用C#将图像转换为文本?

您可以使用IronOCR的OCR功能结合C#将图像转换为文本。通过使用ReadReadAsync等方法,您可以高效地处理图像以提取文本。

使用OCR和计算机视觉的好处是什么?

使用OCR与计算机视觉相结合,可以更准确地从复杂的图像布局、字体和样式中识别文本。IronOCR利用AI和机器学习增强文本提取,自动化数据处理。

如何在C#中提高OCR的准确性?

IronOCR提供了多种方法来提高OCR准确性,包括调整配置设置,使用并发,检查结果对象的可信度等级。这有助于微调OCR过程以获得更好的结果。

从图像中的多个区域提取文本的过程是什么?

要使用IronOCR从图像中的多个区域提取文本,您可以使用FindMultipleTextRegions方法。此方法返回一个CropRectangle对象列表,指示每个文本区域的位置。

OCR技术可以用于车牌识别吗?

是的,诸如IronOCR提供的OCR技术可以应用于车牌识别。通过处理车牌图像,IronOCR可以提取文本以供各种应用使用。

如何在C#项目中安装IronOCR?

您可以通过使用NuGet包管理器控制台将IronOCR安装到您的C#项目中。执行命令Install-Package IronOcr以将库添加到您的项目中。

是否有用于尝试C# OCR库的试用版?

是的,IronOCR提供免费试用版本,允许用户在购买许可证之前测试库的功能。

C#的OCR库有哪些许可选项?

IronOCR提供多种许可选项,从$liteLicense起,包括一年的支持和更新,以满足不同项目需求和预算。

Kannaopat Udonpant
软件工程师
在成为软件工程师之前,Kannapat 在日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了车辆机器人实验室的成员,隶属于生物生产工程系。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他可以直接从编写大多数 IronPDF 代码的开发者那里学习。除了同行学习外,Kannapat 还喜欢在 Iron Software 工作的社交方面。不撰写代码或文档时,Kannapat 通常可以在他的 PS5 上玩游戏或重温《最后生还者》。