如何在 C# 中纠正 OCR 图像方向 | IronOCR

使用 C# 修复 OCR 中的图像方向

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

在图像处理的背景下,修复图像方向是指对图像进行调整,以确保其正确对齐以用于特定目的,例如文本识别。 IronOcr 支持修复图像方向,包括旋转、校正倾斜和缩放。

这些技术对于准备用于准确文本识别的图像至关重要,因为它们可以确保文本方向正确、对齐且大小合适,以便提取。

快速入门:一行完成旋转、桌面倾斜和缩放

使用 IronOCR 的 OcrInput 进行简单的操作,只需一次调用即可旋转、校正倾斜和缩放图像——无需样板代码即可快速上手,让您的图像在几秒钟内准备好进行准确的 OCR 识别。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronOCR

    PM > Install-Package IronOcr

  2. 复制并运行这段代码。

    var result = new IronOcr.OcrInput().LoadImage("skewed.png").Rotate(90).Deskew(45).Scale(150).Let(input => new IronOcr.IronTesseract().Read(input));
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronOCR,免费试用!
    arrow pointer


旋转图像示例

旋转图像是指将图像的方向按特定角度(例如,顺时针或逆时针旋转 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方法导出修改后的图像。 下面对比的是旋转前后的图像。

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
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

尺寸对比

尺寸对比
尺寸对比

常见问题解答

在.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 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

审核者
Jeff Fritz
Jeffrey T. Fritz
首席项目经理 - .NET 社区团队
Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。
准备开始了吗?
Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布