如何在 C# 中校正影像方向以進行 OCR | IronOCR

How to Fix Image Orientation for Reading

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

在圖像處理的上下文中,修正圖像方向涉及對圖像進行調整,以確保其正確對齊,以符合特定用途,例如文字識別。 IronOcr 支持修正圖像方向,包括旋轉、去偏斜和縮放。

這些技術對於準備圖像進行準確的文字識別至關重要,因為它們確保文字正確方向、對齊和適當大小以便提取。

快速開始:一行旋轉-去偏斜-縮放

使用 IronOCR 的 OcrInput 來旋轉、去偏斜和縮放圖像,只需單次調用即可快速開始,免去樣板代碼,讓您的圖像在幾秒鐘內準備好準確的 OCR 處理。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    var result = new IronOcr.OcrInput().LoadImage("skewed.png").Rotate(90).Deskew(45).Scale(150).Let(input => new IronOcr.IronTesseract().Read(input));
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小化工作流程 (5 步驟)

  1. 下載 C# 庫以修正圖像方向
  2. 導入PDF文件和圖像以供閱讀
  3. 應用所需的方向校正,如旋轉、去偏斜和縮放
  4. 匯出已校正的圖像以供查看
  5. 使用 Read 方法進行 OCR 處理


旋轉圖像範例

旋轉圖像涉及將其方向更改為特定角度(例如,順時針或逆時針 90 度),以確保圖像內的文字或內容處於正立且正確對齊。

傳遞一個角度值給 Rotate 方法來執行旋轉。 正角度值將順時針旋轉圖像,而負角度值將逆時針旋轉圖像。

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("paragraph_skewed.png");

// Rotate the image 180 degrees clockwise
imageInput.Rotate(180);

// Export the modified image
imageInput.SaveAsImages("rotate");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("paragraph_skewed.png")

' Rotate the image 180 degrees clockwise
imageInput.Rotate(180)

' Export the modified image
imageInput.SaveAsImages("rotate")
$vbLabelText   $csharpLabel

為了方便起見,可以使用 SaveAsImages 方法匯出修改後的圖像。 以下是旋轉前後圖像的比較。

class="competitors-section__wrapper-even-1">
Sample image
Rotated image

去偏斜圖像範例

去偏斜是將可能略微傾斜或扭曲的圖像拉直的過程。 它能修正任何傾斜或錯位,確保文字或內容水平對齊。

要對圖像應用去偏斜,請使用 Deskew 方法。 此方法接受一個整數值,指定需要修正的最大偏斜角度。 較高的值可能提供更多修正機會,但可能導致處理速度較慢,並增加錯誤風險,包括頁面上下顛倒。

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-deskew-image.cs
// Apply deskew
imageInput.Deskew();
' Apply deskew
imageInput.Deskew()
$vbLabelText   $csharpLabel
class="competitors-section__wrapper-even-1">
Sample image
deskewed image

縮放圖像範例

縮放涉及將圖像調整為特定尺寸或長寬比。 這對於標準化圖像尺寸以提高文字識別的一致性非常有用。

要對圖像應用縮放,請使用 Scale 方法。 Scale 方法採用百分比值,100% 表示無效果。 第二個參數是 ScaleCropArea,決定是否需要相應等比例縮放關聯的裁剪區域(推薦為 'true')。

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-scale-image.cs
// Apply scale
imageInput.Scale(70);
' Apply scale
imageInput.Scale(70)
$vbLabelText   $csharpLabel

尺寸比較

class="content-img-align-center">
class="center-image-wrapper"> Size comparison
class="center-image-wrapper"> Size comparison

常見問題解答

在 .NET C# 中,校正影像方向的主要方法有哪些?

在 .NET C# 中,您可以使用 IronOCR 的方法修正影像方向,例如Rotate用於改變角度, Deskew用於矯正傾斜的影像, Scale用於調整大小,以確保正確的文字對齊和識別。

C# 中的 Rotate 方法如何協助調整影像方向?

C# 中的Rotate方法用於調整影像角度,以確保文字保持直立。傳遞正值會使影像順時針旋轉;傳遞負值會使影像逆時針旋轉。

為什麼在影像處理中校正傾斜很重要?

影像校正在影像處理中至關重要,因為它能矯正傾斜的影像,確保文字水平對齊,從而提高光學字元辨識 (OCR) 結果的準確性。

圖像縮放如何影響文字辨識?

縮放圖像可確保圖像的所有部分按比例縮放,這有助於保持文字大小一致,並提高文字辨識的一致性和準確性。

我可以使用 C# 對 PDF 文件進行影像方向校正嗎?

是的,使用 IronOCR,您可以匯入 PDF 文件並套用影像方向校正(如旋轉、傾斜和縮放)來增強文字辨識。

如何在.NET應用程式中處理後導出校正後的影像?

使用 IronOCR 處理和校正影像後,您可以使用SaveAsImages方法匯出修改過的影像。

在選擇影像校正的偏斜值時,我應該考慮哪些因素?

在選擇傾斜校正值時,請注意,較高的值可能會提供更多的校正機會,但可能會減慢處理速度,並可能導致錯誤,例如影像倒置。

在 C# 中,準備用於 OCR 的圖像的過程是怎樣的?

在 C# 中準備用於 OCR 的圖像時,需要使用 IronOCR 提供的RotateDeskewScale等方法校正方向,以確保文字正確對齊和調整大小,從而實現準確識別。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

審核人

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 70

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 70
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

">

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 84

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 84
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once