為什麼選擇 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
- GIF
- PNG
- 每個檔案格式都包含 System.Drawing 位圖、流和位元組陣列/二進制影像資料(byte [])
IronSoftware.System.Drawing 很快將取代對 System.Drawing 的依賴(允許通用的 Bitmap 格式)
性能
Tesseract
- 不良的文件記錄設定必須進行細微調整以確保準確性。
- 依賴乾淨的文件/預處理過的圖像
IronOCR
- 零配置對於大多數圖像都能精確且快速地工作。
- 多執行緒充分利用多核心處理器
- 即使是低解析度的圖像通常也能以高度的準確性進行工作。
- 不需要Photoshop
API
Tesseract
幾乎沒有支援,不適合初學者:
與互操作層一起工作——許多在GitHub上的互操作層已經過時,存在未解決的問題、記憶體洩漏和控制台警告
-- 可能不支援 .NET Core 或 Standard
- 使用命令列 EXE -- 難以部署且經常受到病毒掃描器和安全政策的干擾
IronOCR
- 一個名為IronTesseract的受管理且經過測試的.NET庫
- 完整文件記錄與IntelliSense支援
- 支援工程師團隊隨時準備協助
語言
Tesseract
- 僅100種語言
IronOCR
- 超過127種內置語言 + 自定義語言包支持
結論
Tesseract 是 C++ 開發者的絕佳資源,但它不是一個完整的 .NET OCR 函式庫。 掃描或拍攝的圖像必須預先處理為正交的、標準化的、高解析度的,並且沒有數字噪音,Tesseract 才能準確地處理它們。
相比之下,IronOCR 只需一行代碼就能完成這個功能及更多。 IronOCR 使用非常微調的Tesseract作為其內部OCR引擎,專為C#構建,並作為標準增加了許多性能改進和功能。