IronOCR 功能介紹
IronOCR 是一個 .NET 程式庫,允許開發人員從圖像中掃描和讀取文本或條碼。
相容性
.NET 語言
從圖像掃描並讀取文字或條形碼 (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 Standard 2及更高版本兼容。
.NET Framework 4.6.2+ (範例程式碼 API 參考文獻)
- 使用 .NET Framework 4.6.2 及以上版本掃描並讀取影像中的文本或條碼。
應用程式類型
操作系統 微軟視窗 (教程)
IDEs
- Microsoft Visual Studio (教程)
- Jetbrains ReSharper 和 Rider
認證
Microsoft Authenticode
- DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1
OCR 引擎
底层OCR引擎
Tesseract 是一個開源的文字識別軟體 (光學字符識別) 引擎,在Apache 2.0許可證下提供。C# .NET中最準確和快速的庫之一。目前,Tesseract 5是最穩定的版本。
- 詳細配置 (範例程式碼)
IronTesseract.Configuration
物件為進階用戶提供了存取 C# / .NET 中基礎 Tesseract API 的管道以進行設置。- 該設置可以幫助在執行 OCR 後改進輸出。
- 要提高 OCR 的速度,請檢查 這個程式碼範例 快速 OCR 配置。
國際語言
文字與條碼閱讀 文字和數字 (範例程式碼)
專業文件 (如何操作)
此方法使用機器學習來增強文字識別。 文件
優化用於閱讀掃描文件或含有大量文字的紙質文件照片。 車牌
專為從照片中讀取車牌優化。 护照
- 專為通過掃描機器可讀區域來讀取和提取護照信息的照片而設計 (MRZ) 內容。
- 照片
針對包含難以閱讀文字的圖像進行優化。 截圖
- 優化以讀取包含難以閱讀文字的截圖。
并发性 單執行緒和多執行緒 (如何操作
中止令牌 (範例程式碼)
允許用戶在讀取大文件並且程序或應用程式運行時出現卡頓的情況下,將當前執行緒暫停指定的毫秒數。 超時 (範例程式碼)
- 提供選擇性以毫秒為單位的超時時間,超過此時間後將取消OCR讀取。
電腦視覺
- 使用電腦視覺根據我們的先進訓練模型來尋找文本。IronOCR 利用 OpenCV 使用電腦視覺來檢測圖像中存在文本的區域。這對於包含大量噪點的圖像、文本分佈於多個位置的圖像以及文本變形的圖像非常有用。在 IronOCR 中使用電腦視覺將確定文本區域存在的位置,然後使用 Tesseract 嘗試讀取這些區域。
OCR 輸入
從多種格式讀取
濾鏡
如果不知道應該對圖像應用哪種濾鏡,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/)
* 將圖像順時針旋轉指定度數。要逆時針旋轉,請使用負數。
* 旋轉圖像使其正確而且垂直。這對於OCR非常有用,因為Tesseract對於傾斜掃描的容忍度可能低至5度。 <span id="anchor-ocrinput-scale">`縮放`</span> ([教程](/csharp/ocr/tutorials/c-sharp-ocr-image-filters/#scale)
* 成比例縮放 OcrInput 頁面。 <span id="anchor-ocr-image-colors">修正圖像顏色</span> ([如何操作](/csharp/ocr/how-to/image-color-correction/)
* 這個圖像濾鏡將每個像素變為黑色或白色,沒有中間色。可以提高OCR在文本與背景對比度非常低情況下的性能。
ToGrayscale
(API 參考文獻)* 此圖像濾鏡將每個像素轉換為灰階陰影。不太可能提高OCR準確性,但可能提高速度。
* 反轉每一種顏色。例如:白色變成黑色,黑色變成白色。
替換顏色
(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 ([範例程式碼](/csharp/ocr/examples/make-pdf-searchable/))
在頁面上突出顯示文字以進行調試
- 在檢測到的字符/單詞/行/段落周圍畫紅框,作為突出顯示,並將其保存為 .png 以進行調試。