如何修正图像的阅读方向

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

查克尼特·宾

在图像处理中,修正图像方向涉及对图像进行调整,以确保图像在特定用途(如文本识别)中正确对齐。IronOcr 支持固定图像方向,包括旋转、纠偏和缩放。

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


适用于OCR的C# NuGet库

安装使用 NuGet

Install-Package IronOcr
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于OCR的C# NuGet库

安装使用 NuGet

Install-Package IronOcr
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronOCRNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变OCR。

适用于OCR的C# NuGet库 nuget.org/packages/IronOcr/
Install-Package IronOcr

考虑安装 IronOCR DLL 直接。下载并手动安装到您的项目或GAC表单中: IronOcr.zip

手动安装到你的项目中

下载DLL

旋转图像示例

旋转图像是指按特定角度改变图像的方向 (例如,顺时针或逆时针旋转 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")
VB   C#

为方便起见,您可以使用 SaveAsImages 方法导出修改后的图像。下面是旋转前后的图像对比。

图片样本
旋转图像

纠偏图像示例

纠偏是将可能略微倾斜或歪斜的图像拉直的过程。它可以纠正任何倾斜或错位,确保文字或内容水平对齐。

要对图像应用纠偏,请使用 Deskew 方法。该方法接受一个整数值,指定要纠正的最大偏斜角度。数值越大,校正的机会越多,但处理速度会变慢,出错的风险也会增加,包括页面颠倒。

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-deskew-image.cs
// Apply deskew
imageInput.Deskew();
' Apply deskew
imageInput.Deskew()
VB   C#
图片样本
经过纠偏处理的图像

缩放图像示例

缩放是指将图像大小调整为特定尺寸或长宽比。这有助于统一图像尺寸,使文本识别更加一致。

要对图像进行缩放,请使用 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)
VB   C#

尺寸比较

尺寸比较
尺寸比较

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。