为什么选择 IronOCR 而不是 Tesseract?

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

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

IronOCR

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

    性能

Tesseract

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

IronOCR

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

应用程序接口

Tesseract

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

  1. 使用 Interop 层 - 许多在 GitHub 上找到的都已过时,存在未解决的工单、内存泄漏和控制台警告。

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

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

IronOCR

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

语言

Tesseract

  • 只有100种语言

IronOCR

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

结论

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

相比之下,IronOCR 只需一行代码即可完成这个功能以及更多功能。 IronOCR使用了非常精细调整的Tesseract的内部 OCR 引擎,该引擎为 C# 构建,在性能上做了大量改进,并增加了许多标准功能。