如何检测页面旋转

Chaknith related to 如何检测页面旋转
查克尼特·宾
2024年二月28日
更新 2024年十二月10日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

确定页面旋转涉及识别文档中页面应用的旋转度数。 此过程专门确定页面是顺时针还是逆时针旋转了0度、90度、180度和270度。 此信息对于准确渲染或处理文档至关重要,确保页面以正确的方向显示或打印。

IronOCR 将页面旋转检测提升到了一个新的水平。 一旦检测到旋转,返回的值可以与Rotate方法结合使用,以调整图像到正确的方向。

开始使用IronOCR

立即在您的项目中开始使用IronOCR,并享受免费试用。

第一步:
green arrow pointer



检测页面旋转示例

加载文档后,您可以使用DetectPageOrientation方法来识别每页的旋转。 该方法支持0度、90度、180度和270度。对于倾斜的图像,可以使用Deskew图像校正方法。 随后使用函数返回的角度将图像旋转回其原始方向。 让我们使用一个示例PDF继续。

请注意
当文档文本密集时,该功能表现良好。

:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation.cs
using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation
var results = input.DetectPageOrientation();

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}
Imports IronOcr
Imports System

Private input = New OcrInput()

' Load PDF document
input.LoadPdf("Clockwise90.pdf")

' Detect page rotation
Dim results = input.DetectPageOrientation()

' Ouput result
For Each result In results
	Console.WriteLine(result.PageNumber)
	Console.WriteLine(result.HighConfidence)
	Console.WriteLine(result.RotationAngle)
Next result
$vbLabelText   $csharpLabel

理解结果

  • PageNumber:表示页面的零基索引。
  • RotationAngle:提供以度数表示的校正旋转角度。 此角度可应用于Rotate方法,以将图像恢复到正面向上的旋转。 例如,如果图像顺时针旋转90度,则返回的角度将是270度,然后可以将其传递给Rotate方法,例如input.Rotate(RotationAngle)
  • HighConfidence: 表示对方向结果的信心水平。
Chaknith related to 理解结果
软件工程师
Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。