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