IronOCR 功能

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR是一個.NET函式庫,允許開發人員從圖像中掃描和讀取文字或條碼。

相容性

.NET語言

  • C# (教程 API 參考文獻)
  • 從圖像掃描和讀取文本或條碼(jpg, png, gif, tiff, bmp)在 C# 中。
  • VB.NET
  • 從圖像掃描和讀取文本或條碼(jpg, png, gif, tiff, bmp)在 VB.NET 中。
  • F#

    • 掃描並從圖像中讀取文字或條碼(jpg, png, gif, tiff, bmp)在 F# 中。

平台

  • .NET 5、6、7、8 (教程)
  • IronOCR 支持 .NET 5、6、7 和 8。
  • .NET Core 2 和 3 (教程)

    • IronOCR 支援 .NET Core 2 和 3。

    • 當前版本支持在 Linux、Unix 和 macOS 客戶端操作系統以及 Mono 上運行的 .NET Core。
  • 未來的版本將支持MAUI和Xamarin。
  • .NET Standard 2+ (API 參考文獻)
  • IronOCR 與 .NET Standard 2 及以上版本兼容。
  • .NET Framework 4.6.2+ (示例代码 API 參考文獻)

    • 掃描並從 .NET Framework 4.6.2 及以上版本的圖像中讀取文本或條碼。

應用程式類型

  • 控制台,網頁和桌面 (教程 API 參考文獻)

    • 使用 IronOCR 為 Web、桌面和控制台創建應用程序。

作業系統

集成開發環境

  • Microsoft Visual Studio (教程)
  • Jetbrains ReSharper 和 Rider

證書

  • Microsoft Authenticode

    DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1

OCR 引擎

底層OCR引擎

  • Tesseract 5 (教程 範例程式碼)
  • Tesseract 是一個開源的文字識別(光學字符識別)引擎,採用 Apache 2.0 授權。 C#.NET 的其中一個最精確和快速的庫。 目前,Tesseract 5 是最穩定的版本。
  • 詳細配置(示例代码)

    • IronTesseract.Configuration 物件提供存取底層 Tesseract API 的功能,適用於 C# / .NET,方便高階使用者進行配置設定。

    • 安裝可以在執行OCR後改善輸出效果。

    • 要提升OCR速度,請檢查這個程式碼範例快速 OCR 配置。

國際語言

教學

文字和條碼讀取

專業文件(如何操作

此方法使用機器學習來增強文字識別。

  • 文件
  • 適用於閱讀掃描文件或包含大量文字的紙質文件照片。
  • 車牌
  • 針對從照片中讀取車牌進行了優化。
  • 护照
  • 為掃描機器可讀區域而優化,專門用於從照片中讀取和提取護照信息。(MRZ)內容。
  • 照片
  • 優化用於讀取包含難以識別文字的圖像。
  • 截圖

    • 優化了讀取包含難以閱讀文字的截圖功能。

並發性

電腦視覺

如何操作 API 參考文獻

  • 使用計算機視覺來根據我們先進的訓練模型找到文本。 IronOCR 使用 OpenCV 利用计算机视觉来检测图像中存在文本的区域。 這對於包含大量噪音的圖像、文字分佈在許多不同位置的圖像,以及文字扭曲的圖像非常有用。 Use of computer vision in IronOCR will determine where text regions exists and then use Tesseract to attempt to read those regions.

OCR 輸入

Code Example

支持多種格式讀取

過濾器

  • 篩選精靈 (示例代码 API 參考文獻)
  • 如果不知道應該對圖像應用哪個過濾器,Filter Wizard 會使用暴力法,提供適用於 OcrInput 的過濾器列表,返回最高信心度的組合。
  • OCR影像濾鏡 (如何操作 教程 範例程式碼)

    • Sharpen (API 參考文獻)

      * 銳化模糊的 OCR 文件。 將 Alpha 通道壓平為白色。
    • 提高解析度 (API 參考文獻)

      * 提高低品質圖像的解析度。
    • 去噪 (API 參考文獻)

      * 移除數位雜訊。此過濾器應僅在預期有雜訊的情況下使用。 將 Alpha 通道壓平為白色。
    • 擴張 (API 參考文獻)

      * 高級形態學。 擴張會在影像中的物體邊界增加像素。 侵蝕的對立面
    • 腐蝕 (API 參考文獻)
  • 高級形態學。 腐蝕會移除物件邊界上的像素。 縮小
  • 修正圖片方向 (如何操作 教程 範例程式碼)

    • 旋轉 (教程 API 參考文獻)

      * 將圖像順時針旋轉若干度。若要逆時針旋轉,請使用負數。
    • Deskew(糾正歪斜) (教程 API 參考文獻)

      * 將圖像旋轉使其正確向上並保持正交。 這對於光學字符識別非常有用,因為Tesseract對斜掃描的容忍度可以低至5度。
    • 縮放 (教程 API 參考文獻)
  • 按比例縮放 OcrInput 頁面。
  • 修正圖像顏色 (如何操作 教程 範例程式碼)

    • 二值化 (教程 API 參考文獻)

      * 這個影像濾鏡將每個像素轉換為黑色或白色,沒有中間色調。 可改善文字與背景對比非常低的情況下的OCR性能。
    • ToGrayscale (API 參考文獻)

      * 此圖像濾鏡將每個像素轉換為灰階色調。 不太可能提高OCR的準確性,但可能提高速度。
    • 反轉 (教程 API 參考文獻)

      * 反轉每一種顔色。 例如:白變成黑:黑變成白。
    • 替換顏色 (API 參考文獻)

      * 將圖像中的一種顏色替換為另一種顏色,並設定一定的閾值。
    • 選擇文字顏色 (API 參考文獻)

      * 將圖像中的一種顏色替換為另一種顏色,並設定一定的閾值。

應用裁剪區域

OCR結果

簡單資料輸出

如何操作 範例程式碼

  • .NET 文字字串
  • 條碼及QR數據
  • 圖像

結構化數據輸出

如何操作 範例程式碼

  • 頁面
  • 區塊
  • 段落
  • 單字
  • 字元

導出文件

在頁面上突顯文字以進行除錯

  • 在偵測到的字元/單詞/行/段落周圍繪製紅色方框作為突出顯示,並將其保存為.png以供調試。

狀態與分析