为什么选择 IronOCR 而不是 Tesseract?
准确性
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
几乎没有支持,不适合初学者:
使用 Interop 层 - 许多在 GitHub 上找到的都已过时,存在未解决的工单、内存泄漏和控制台警告。
-- 可能不支持 .NET Core 或 Standard
- 使用命令行EXE -- 部署困难并且经常被病毒扫描器和安全策略中断。
IronOCR
- 一个名为IronTesseract的经过管理和测试的.NET库
- 完全记录并支持 IntelliSense
- 支持工程师团队随时准备提供帮助
语言
Tesseract
- 只有100种语言
IronOCR
- 超过 127 种内置语言 + 自定义语言包支持
结论
Tesseract 对于 C++ 开发者来说是一个极好的资源,但它不是一个完整的 .NET OCR 库。 在Tesseract可以准确处理之前,扫描或拍摄的图像必须预处理,使其正交、标准化、高分辨率并且没有数字噪声。
相比之下,IronOCR 只需一行代码即可完成这个功能以及更多功能。 IronOCR使用了非常精细调整的Tesseract的内部 OCR 引擎,该引擎为 C# 构建,在性能上做了大量改进,并增加了许多标准功能。