为什么选择 IronOCR 而不是 Tesseract?

2022年十月31日
更新 2024年十月20日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

准确性

Tesseract

  • Tesseract 无法处理旋转、倾斜、低 DPI、扫描或带有背景噪音的图像。
  • 需要使用 Photoshop 或 ImageMagick 进行图像预处理。
  • 处理时间过长,然后提供无意义的信息。

IronOCR

  • IronOCR 预处理和 图像滤镜 可以解决这个难题
  • 用户通常可以通过最小配置实现99.8-100%的准确率。

图像兼容性

Tesseract

  • **仅接受 Leptonica PIX 图像格式,这是 C# 中的 IntPtr C++ 对象
  • PIX对象不是托管内存 - 在C#中未能小心处理它们会导致内存泄漏。

IronOCR

  • 图像内存管理
  • PDF和广泛的图像支持:
  • 多帧 TIFF
  • JPEG和JPEG2000
  • 图像互换格式
  • 巴新
  • 每种文件格式都包含 System.Drawing 位图、流和字节数组/二进制图像数据(字节[])。
  • IronSoftware.System.Drawing 很快将取代对 System.Drawing 的依赖(允许通用位图格式)

    性能

Tesseract

  • 配置文档不完善必须进行微调以确保准确性。
  • 依赖于清晰的文档/预处理图像

IronOCR

  • 零配置对于大多数图像来说既准确又快速。
  • 多线程充分利用多核处理器
  • 即使是低分辨率的图像,通常也能以高度精确性工作。
  • 无需使用 Photoshop

应用程序接口

Tesseract

几乎没有支持,不适合初学者:

  1. 与互操作层合作——GitHub上发现的许多互操作层都已过时,存在未解决的票证、内存泄漏和控制台警告

    -- 可能不支持 .NET Core 或 Standard

  2. 使用命令行EXE -- 部署困难并且经常被病毒扫描器和安全策略中断。

IronOCR

  • 一个名为IronTesseract的经过管理和测试的.NET库
  • 完全记录并支持 IntelliSense
  • 支持工程师团队随时准备提供帮助

语言

Tesseract

  • 只有100种语言

IronOCR

  • 超过 127 种内置语言 + 自定义语言包支持

结论

Tesseract 对于 C++ 开发者来说是一个极好的资源,但它不是一个完整的 .NET OCR 库。 在Tesseract可以准确处理之前,扫描或拍摄的图像必须预处理,使其正交、标准化、高分辨率并且没有数字噪声。

相比之下,IronOCR 只需一行代码即可完成这个功能以及更多功能。 IronOCR 为其内部 OCR 引擎使用经过非常精细调整的Tesseract,这种引擎专为 C# 构建,标准配置中加入了许多性能改进和功能。