為什麼選擇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 位圖、流和字節數組/二進制圖像數據 (位元組 []) 包含每種檔案格式 IronSoftware.System.Drawing 即將取代對 System.Drawing 的依賴 (允許通用的位圖格式)
效能
Tesseract
- 需要精細調整不完善的設定以提供準確度
- 依賴於乾淨的文檔/預處理過的圖像
IronOCR
- 零配置可以在大多數圖像上準確且快速地工作
- 多執行緒充分利用多核處理器
- 即使是低解析度的圖像也通常能以高度準確度工作
- 無需使用 Photoshop
API
API
Tesseract
幾乎沒有支援,對初學者不友好:
使用Interop層——GitHub上許多版本已過時,有未解決的票證、記憶體洩漏和控制台警告
--可能不支援 .NET Core 或 Standard
- 使用指令列執行檔(EXE)工作——部署困難,並且經常受到病毒掃描器和安全策略的干擾
IronOCR
- 一個名為 IronTesseract 的受控和測試的 .NET 庫
- 全面的文件記錄,並支持 IntelliSense
- 支援工程師團隊隨時提供協助
語言
Tesseract
- 僅限100種語言
IronOCR
- 支援超過127種內建語言 + 自訂語言包
總結
Tesseract 對於 C++ 開發者來說是一個極好的資源,但它不是一個完整的 .NET OCR 庫。掃描或拍攝的圖像必須預處理,使其正交、標準化、高分辨率並且沒有數字噪音,才能讓 Tesseract 準確地工作。
相比之下,IronOCR 只需要一行代碼即可完成這些操作,甚至更多。IronOCR 使用了一個非常精確調整的 Tesseract 內建於 C# 的內部 OCR 引擎,提供了許多性能改進和標準附加的功能。