OCR工具

如何将图片转换为文本

Kannaopat Udonpant
坎那帕·乌东攀
2024年十月24日
分享:

在当前的数字时代,将基于图像的内容转换为易于阅读的可编辑、可搜索文本。 这在诸如归档纸质文件、从图像中提取关键信息或数字化打印材料等情境中特别重要。 光学字符识别 (OCR) 技术提供了自动化这一转换过程的解决方案。 一种高度可靠且高效的工具是IronOCR,这是一个用于 .NET 的强大 OCR 库。

本文将解释如何使用IronOCR将图片转换为文本,并探讨这种转换如何节省时间、减少错误以及简化数据提取、存档和文档处理等流程。

如何将图片转换为文本

  1. 下载用于OCR工作的C#库

  2. 创建一个新的`IronTesseract`实例

  3. 使用 [**OcrImageInput**](/csharp/ocr/object-reference/api/IronOcr.OcrImageInput.html) 加载图像

  4. 使用`OcrRead`读取图像的内容

  5. 将 OCR 结果导出为文本文件

为什么要将图片转换为文本?

将图片转换成文本的原因有很多,包括

  • 数据提取:从扫描文档和图像中提取文本以用于存档或数据处理的目的。
  • 编辑扫描内容: 编辑或更新先前扫描文档中的文本,节省手动重新输入内容的时间。
  • 提高可访问性:将印刷材料转换为数字文本,使其可被屏幕阅读器或文字转语音应用程序访问。
  • 自动化:通过从发票、收据或名片中读取文本来自动化数据输入和处理。

如何开始将图像转换为文本

在我们探讨如何利用IronOCR强大的图像到文本功能从图像中提取文本之前,我们先来看一下使用在线工具docsumo的一般逐步过程。 在线 OCR 工具不需要任何手动设置,因此对于那些希望完成临时甚至一次性 OCR 任务的人来说是一个非常有用的选择。当然,如果你需要经常执行 OCR 任务,那么拥有 IronOCR 这样功能强大的 OCR 工具可能更适合你。

  1. 导航至在线 OCR 工具

  2. 上传图片并开始提取过程

  3. 以文本文档的形式下载结果数据

第一步:导航至在线 OCR 工具

要开始利用 OCR 技术从图像文件中提取文本,我们首先要导航到要使用的在线图像 OCR 工具。

如何将图片转换为文本:图 1 - Docsumo OCR 工具

第二步:上传图片并开始提取过程

现在,通过点击 "上传文件 "按钮,我们可以上传要提取文本的图像文件。 该工具将立即开始处理图像。

如何将图片转换为文本:图 2 - Docsumo - 文件处理

第三步:将结果数据下载为文本文档

图像处理完成后,我们可以将提取的文本下载为新的文本文档,以便进一步使用或处理。

如何将图片转换为文本:图3 - Docsumo - 图像处理完成

您还可以查看文件,突出显示各部分以查看其中包含的文本。 如果您只想查看某些部分的文字,这可能会特别有帮助。 然后,您还可以继续将文本下载为文本文档、XLS 或 JSON。

如何将图片转换为文本:图 4

IronOCR 入门

IronOCR 是一个多功能的 .NET 库,允许您对图像执行 OCR 操作。 凭借广泛的功能,它可以处理各种文件格式(如PNG、JPEG、TIFF和PDF),执行图像校正,扫描专业文件(护照、车牌等),提供有关扫描文件的高级信息,转换扫描的文档,并突出显示文本。

安装 IronOCR 库

在开始使用 IronOCR 阅读图像之前,如果您的项目中尚未安装 IronOCR,则需要安装它。 您可以使用 Visual Studio 中的 NuGet 轻松安装 IronOCR。 打开 NuGet 包管理器控制台并运行以下命令:

Install-Package IronOcr
Install-Package IronOcr
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr
$vbLabelText   $csharpLabel

另外,您也可以通过 NuGet Package Manager for Solution 页面搜索 IronOCR 来安装 IronOCR。

如何将图片转换为文本:图5

要在代码中使用 IronOCR,请确保在代码顶部有正确的导入语句:

using IronOcr;
using IronOcr;
Imports IronOcr
$vbLabelText   $csharpLabel

将图像转换为文本:基本示例

首先,让我们来看一个使用 IronOCR 进行图像到文本转换的基本示例。 这是任何 OCR 工具的核心功能,在本示例中,我们将使用在线工具使用的 PNG 文件。 在此示例中,我们首先实例化了IronTesseract类,并将其分配给变量'ocr'。 然后,我们使用 OcrImageInput 类从提供的图像文件创建一个新的 OcrImageInput 对象。 最后,Read方法用于读取图像中的文本,并返回一个OcrResult对象。 然后我们可以访问提取的文本,并使用ocrResult.Text将其显示到控制台。

using IronOcr;
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.png");
OcrResult ocrResult = ocr.Read(image);
Console.WriteLine(ocrResult.Text);
using IronOcr;
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.png");
OcrResult ocrResult = ocr.Read(image);
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Private ocr As New IronTesseract()
Private OcrImageInput As using
Private ocrResult As OcrResult = ocr.Read(image)
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

输出图像

如何将图片转换为文本:图6

处理不同的图片格式

IronOCR 支持多种图像格式,如 PNG、JPEG、BMP、GIF 和 TIFF。 从不同图像格式中读取文本的过程保持不变,您只需加载具有正确扩展名的文件。

using IronOcr;
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.bmp");
OcrResult ocrResult = ocr.Read(image);
Console.WriteLine(ocrResult.Text);
using IronOcr;
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.bmp");
OcrResult ocrResult = ocr.Read(image);
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Private ocr As New IronTesseract()
Private OcrImageInput As using
Private ocrResult As OcrResult = ocr.Read(image)
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

提高 OCR 精确度

通过优化图像和配置语言、图像分辨率和图像中的噪声水平等选项,可以提高 OCR 性能。 以下是如何通过使用DeNoise()Sharpen()方法微调OCR,以提高对需要改善图像质量的图像的文本提取准确性:

using IronOcr
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.png");
image.DeNoise();
image.Sharpen();
OcrResult ocrResult = ocr.Read(image);
Console.WriteLine(ocrResult.Text);
using IronOcr
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.png");
image.DeNoise();
image.Sharpen();
OcrResult ocrResult = ocr.Read(image);
Console.WriteLine(ocrResult.Text);
Using IronOcr IronTesseract ocr = New IronTesseract()
	Using image As New OcrImageInput("example.png")
		image.DeNoise()
		image.Sharpen()
		Dim ocrResult As OcrResult = ocr.Read(image)
		Console.WriteLine(ocrResult.Text)
	End Using
End Using
$vbLabelText   $csharpLabel

导出提取的文本

既然我们已经了解了图像到文本转换过程的基础知识,现在让我们来看看如何导出转换后的文本以供日后使用。 在本例中,我们将使用与之前相同的流程加载图像并进行扫描。 然后,使用File.WriteAllText("output.txt", ocrResult.Text),我们创建一个名为 'output.txt' 的新文本文件,并将提取的文本保存到该文件中。

using IronOcr;
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.png");
OcrResult ocrResult = ocr.Read(image);
File.WriteAllText("output.txt", ocrResult.Text);
using IronOcr;
IronTesseract ocr = new IronTesseract();
using OcrImageInput image = new OcrImageInput("example.png");
OcrResult ocrResult = ocr.Read(image);
File.WriteAllText("output.txt", ocrResult.Text);
Imports IronOcr
Private ocr As New IronTesseract()
Private OcrImageInput As using
Private ocrResult As OcrResult = ocr.Read(image)
File.WriteAllText("output.txt", ocrResult.Text)
$vbLabelText   $csharpLabel

如何将图片转换为文本:图7

IronOCR 的主要功能

  1. 高准确性:IronOCR 使用先进的 Tesseract OCR 算法,并包括内置工具来处理复杂图像,确保高精度。

  2. 多语言支持支持125+种语言,包括多种书写体系,如拉丁字母、斯拉夫字母、阿拉伯字母和亚洲字符。 但需要注意的是,IronOCR 只安装了英语,要使用其他语言,需要安装该语言的附加语言包。

  3. PDF OCR:IronOCR 可以从扫描的 PDF中提取文本,使其成为文档数字化的宝贵工具。

  4. 图像清理:它提供预处理工具,如去倾斜去噪反转,以提高图像质量,从而提升OCR的准确性。

  5. 轻松集成:该API可与任何.NET项目无缝集成,无论是控制台应用程序、Web应用程序还是桌面软件。

将图片转换为文本的常见用例

  • 自动化数据输入:企业可以使用OCR自动从表单、收据或名片中提取数据。
  • 文档存档:组织可以将实体文档数字化,使其便于搜索和存储。
  • 可访问性:将印刷材料转换为文本,以供屏幕阅读器或其他辅助技术使用。
  • 研究与分析:快速将扫描的研究材料转换为文本,以便进行分析或集成到其他软件工具中。
  • 研究:将扫描的学习笔记转换为可编辑文本,然后可以将其保存为Word文档,以便在IronWord、Microsoft Word或Google文档等工具中进行进一步操作。

结论

使用 IronOCR 转换图像中的文本是处理文档处理任务的一种快速、准确和高效的方法。 无论您是处理扫描文档、数字图像还是 PDF 文档,IronOCR 都能简化处理过程,提供高准确性、多语言支持和强大的图像处理工具。 该工具是希望简化文档管理工作流程、自动提取数据或提高可访问性的企业的理想选择。

使用免费试用来亲自体验IronOCR的强大功能,只需几分钟即可在您的工作空间内完全运行,这样您就可以立即开始处理OCR任务!

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