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 客戶端操作系統上的 .NET Core,以及 Mono。

    • 未來版本將支援 MAUI 和 Xamarin .NET Standard 2+ (API 參考文獻)
  • IronOCR與.NET Standard 2及更高版本兼容。
  • .NET Framework 4.6.2+ (範例程式碼 API 參考文獻)

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

應用程式類型

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

    • 使用IronOCR為網頁、桌面和控制台創建應用程式。

操作系統 微軟視窗 (教程)

IDEs

  • 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 物件為進階用戶提供了存取 C# / .NET 中基礎 Tesseract API 的管道以進行設置。
  • 該設置可以幫助在執行 OCR 後改進輸出。
  • 要提高 OCR 的速度,請檢查 這個程式碼範例 快速 OCR 配置。

國際語言

教學

文字與條碼閱讀 文字和數字 (範例程式碼)

專業文件 (如何操作)

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

  • 優化用於閱讀掃描文件或含有大量文字的紙質文件照片。 車牌

  • 專為從照片中讀取車牌優化。 护照

    • 專為通過掃描機器可讀區域來讀取和提取護照信息的照片而設計 (MRZ) 內容。
    • 照片
  • 針對包含難以閱讀文字的圖像進行優化。 截圖

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

并发性 單執行緒和多執行緒 (如何操作

範例程式碼)

  • 異步支援 (如何操作 API 參考文獻)

  • 中止令牌 (範例程式碼)

    • 允許用戶在讀取大文件並且程序或應用程式運行時出現卡頓的情況下,將當前執行緒暫停指定的毫秒數。 超時 (範例程式碼)

    • 提供選擇性以毫秒為單位的超時時間,超過此時間後將取消OCR讀取。

電腦視覺

如何操作 API 參考文獻

  • 使用電腦視覺根據我們的先進訓練模型來尋找文本。IronOCR 利用 OpenCV 使用電腦視覺來檢測圖像中存在文本的區域。這對於包含大量噪點的圖像、文本分佈於多個位置的圖像以及文本變形的圖像非常有用。在 IronOCR 中使用電腦視覺將確定文本區域存在的位置,然後使用 Tesseract 嘗試讀取這些區域。

OCR 輸入

Code Example

從多種格式讀取

濾鏡

  • 篩選精靈 (範例程式碼 API 參考文獻)

    • 如果不知道應該對圖像應用哪種濾鏡,Filter Wizard 會使用暴力破解方式提供適合 OcrInput 的濾鏡列表,並返回信心最高的組合。 OCR影像濾鏡 (如何操作 教程 範例程式碼)

    • Sharpen (API 參考文獻)

      * 銳化模糊的OCR文檔。將Alpha通道平滑為白色。 <span id="anchor-ocrinput-enhanceresolution">`提高解析度`</span> ([API 參考文獻](/csharp/ocr/object-reference/api/IronOcr.OcrInput.html#IronOcr_OcrInput_EnhanceResolution_System_Int32_))
      
      * 增強低品質影像的解析度。
    • 去噪 (API 參考文獻)

      * 移除數位雜訊。此濾鏡僅應用於預期有雜訊的情況。將 Alpha 通道平坦化至白色。
    • 擴張 (API 參考文獻)

      * 高級形態學。_膨脹_會將像素添加到影像中物體的邊界。與腐蝕相反
    • 腐蝕 (API 參考文獻)

      * 高級形態學。_侵蝕_會移除物體邊緣的像素。與膨脹相反 <span id="anchor-ocr-image-orientation">修正圖片方向</span> ([如何操作](/csharp/ocr/how-to/image-orientation-correction/) 

      教程 範例程式碼)

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

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

      * 旋轉圖像使其正確而且垂直。這對於OCR非常有用,因為Tesseract對於傾斜掃描的容忍度可能低至5度。 <span id="anchor-ocrinput-scale">`縮放`</span>  ([教程](/csharp/ocr/tutorials/c-sharp-ocr-image-filters/#scale) 

      API 參考文獻)

      * 成比例縮放 OcrInput 頁面。 <span id="anchor-ocr-image-colors">修正圖像顏色</span> ([如何操作](/csharp/ocr/how-to/image-color-correction/) 

      教程 範例程式碼)

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

      * 這個圖像濾鏡將每個像素變為黑色或白色,沒有中間色。可以提高OCR在文本與背景對比度非常低情況下的性能。
    • ToGrayscale (API 參考文獻)

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

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

      * 使用一定的閾值將圖像中的顏色替換為另一種顏色。 <span id="anchor-ocrinput-select-text-color">`選擇文字顏色`</span>  ([API 參考文獻](/csharp/ocr/object-reference/api/IronOcr.OcrInput.html#IronOcr_OcrInput_ReplaceColor_IronSoftware_Drawing_Color_IronSoftware_Drawing_Color_System_Int32_))
      
                  * 以特定的閾值將圖像中的一種顏色替換為另一種顏色。

應用裁剪區域

OCR結果

簡單資料輸出

如何操作 範例程式碼

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

結構化數據輸出

如何操作 範例程式碼

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

導出文件

可搜索的 PDF 文件 (如何操作 教程)

 * PDF 轉換為可搜索的 PDF ([範例程式碼](/csharp/ocr/examples/make-pdf-searchable/))

在頁面上突出顯示文字以進行調試

  • 在檢測到的字符/單詞/行/段落周圍畫紅框,作為突出顯示,並將其保存為 .png 以進行調試。

狀態與分析