在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
Tesseract 是一个光学字符识别引擎,可用于多种操作系统。它是一款免费软件,根据 Apache 许可发布。在本指南中,我将带你了解我在 Windows 10 机器上安装 Tesseract 的步骤。主要版本 5 是当前的稳定版本,从 2021 年 11 月 30 日发布的 5.0.0 版开始。0 开始。
要安装语言数据: sudo port install tesseract - OCR.语言代码<langcode>;
语言代码列表可在 MacPorts Tesseract 页面 Homebrew 中找到。安装 Windows 版 Tesseract OCR 的第一步是下载与您机器操作系统相对应的 .exe 安装程序
接下来,我们需要配置Tesseract的安装。如果你自信满满,只想在默认语言设置为英语的情况下运行 Tesseract OCR for Windows,那么选择所有默认选项运行安装屏幕应该没问题。
这只是对话框和帮助信息的语言。如果需要,我们可以使用多种语言运行 Tesseract OCR for Windows:
Windows 版 Tesseract OCR 的安装语言
设置屏幕建议在继续安装之前关闭所有其他应用程序。
Tesseract OCR for Windows 安装屏幕。
接下来,我们将选择安装位置。在进行下一步之前,确保将安装位置复制到 .txt 文件中。安装完成后,我们需要将安装位置添加到机器的环境变量中。
选择安装位置。
默认情况下,"滚动视图"、"培训工具"、"快捷方式创建 "和 "语言数据 "都被选中。除非您有特殊原因不安装这些功能,否则我们希望将它们全部选中。
默认的 Tesseract OCR for Windows 安装组件。
如果我们向下滚动并展开 "附加脚本数据",就会发现我们可以选择下载并安装附加脚本数据。这有助于提高从某些脚本语言中提取文本的准确性。至于是否安装这些脚本数据,就看你自己的意愿了。
可选的脚本安装组件。
在安装的最后一步,我们将被要求选择开始菜单文件夹,以便为Windows快捷方式使用Tesseract OCR。我将其设置为默认名称:"Tesseract-OCR"。
选择开始菜单文件夹中的 Tesseract OCR for Windows 快捷方式。
点击安装后,Tesseract OCR for Windows将开始安装。下一步是将安装路径添加到机器的环境变量中。
要在环境变量中添加安装位置,请进入 "开始 "菜单搜索 "环境变量"。你应该会看到编辑系统环境变量的结果。如果没有,可以使用以下步骤: 开始菜单 > 控制面板 > 编辑系统环境变量。
搜索 "环境变量
当出现 "系统属性 "对话框时,我们要确保已单击 "高级 "选项卡,然后单击屏幕右下方的 "环境变量 "按钮。
在系统变量下,我们将点击编辑按钮。
当出现 "编辑环境变量"屏幕时,点击 "新"按钮,然后粘贴我们在步骤 2 中复制的 Tesseract OCR 安装路径。完成后,点击 "确定"按钮。
就是这样! 现在我们已经运行了 .exe 安装程序,并在环境变量中添加了 Tesseract OCR for Windows 的安装位置,我们可以在测试图像上运行 Tesseract 来测试安装是否正常。
要测试 Windows 版 Tesseract OCR 是否安装成功,请在计算机上打开命令提示符,然后运行 Tesseract 命令。你会看到输出结果,其中包含对 Tesseract 使用选项的快速解释。
检查 Windows 版 Tesseract OCR 安装是否成功
恭喜您! 您已成功在计算机上安装了 Tesseract OCR for Windows。
IronOCR 为 Mac、Windows、Linux、Azure 和 Docker 提供 Tesseract OCR:
IronOCR 可使用最新的 Tesseract 5 引擎从所有主要图像和 PDF 格式中读取文本、条形码和二维码。该库可在几分钟内将 OCR 功能添加到桌面、控制台和 Web 应用程序中。它支持 127 多种国际语言。 许可证 从 $749 开始。
下载 IronOcr DLL 直接连接到您的机器。
您也可以通过 NuGet 安装。
Install-Package IronOcr
在使用 IronOCR 之前,将此代码添加到应用程序的启动程序中。
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
测试钥匙是否安装正确。
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0")
启动项目
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Hundreds of languages available
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
OcrInput.Add(@"img\example.tiff")
// Input.DeNoise(); optional
// Input.Deskew(); optional
IronOcr.OcrResult Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Hundreds of languages available
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
OcrInput.Add(@"img\example.tiff")
// Input.DeNoise(); optional
// Input.Deskew(); optional
IronOcr.OcrResult Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Hundreds of languages available
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
' ' Explore the OcrResult using IntelliSense
End Using
测试性能和 API 功能
使用 NuGet 包管理器将 IronOCR NuGet 包安装到 Visual Studio 解决方案中。
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Hundreds of languages available
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
OcrInput.Add(@"img\example.tiff")
// Input.DeNoise(); optional
// Input.Deskew(); optional
IronOcr.OcrResult Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Hundreds of languages available
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
OcrInput.Add(@"img\example.tiff")
// Input.DeNoise(); optional
// Input.Deskew(); optional
IronOcr.OcrResult Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Hundreds of languages available
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
' ' Explore the OcrResult using IntelliSense
End Using
有了 IronOCR,所有 Tesseract 的安装都完全通过 NuGet 软件包管理器完成。
Install-Package IronOcr
迄今为止,IronTesseract 是 Tesseract 5 在 .NET Framework 或 Core 中的唯一已知实现。
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput("images\image.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4
Using Input = New OcrInput("images\image.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
如果 Tesseract 遇到旋转、倾斜、低 DPI、扫描或有背景噪音的图像,Tesseract 几乎不可能从该图像中获取数据。此外,Tesseract 还会花很长时间处理该文档,然后再向您提供无意义的信息。
IronOCR 可以解决这个令人头疼的问题。用户只需极少的配置,就能达到 99.8-100% 的准确率。
只接受 Leptonica PIX 图像格式,该格式在 C# 中是 IntPtr C++ 对象。PIX 对象不是受管内存,在 C# 中不小心处理会导致内存泄漏。
图像由内存管理。支持 PDF 和 Tiff。系统。每种文件格式都包含绘图、流和字节阵列。
广泛的图像支持:
二进制图像数据 (字节 [])
如果调整得当,输入图像经过 Photoshop 或 ImageMagick 预处理,Google Tesseract 可以快速、准确地生成结果。
IronOcr .NET Tesseract 动态链接库开箱即能准确、快速地处理大多数图像。我们实现了多线程,以利用目前大多数机器使用的多核处理器。在您的程序中,即使是低分辨率的图像也能以很高的精度运行。无需 PhotoShop。
我们有两个自由选择:
用于 Tesseract 的经过管理和测试的 .NET 库,名为 IronTesseract。
文档齐全,支持 IntelliSense。
仅支持 100 种语言。
支持 127 多种语言。
Tesseract 是 C++ 开发人员的绝佳资源,但它并不是一个完整的 .NET OCR 库。扫描或拍摄的图像需要经过处理,使其具有正交性、标准化、高分辨率和无数字噪音,然后 Tesseract 才能准确地处理这些图像。
相比之下,IronOCR 只需一行代码就能完成这些工作。的确,IronOCR 使用 Tesseract 它的内部 OCR 引擎是一个经过精心调整的 Tesseract,采用 C# 语言构建,性能有了很大提高,并增加了许多标准功能。