Windows 应用 SDK 中用于 AI 文本识别 (OCR) 的 API 参考

重要

Windows 应用 SDK 的最新 预览通道 版本中可用。

Windows 应用 SDK 试验通道包括开发早期阶段的 API 和功能。 试验通道中的所有 API 都可能经过大量修订和中断性变更,并且随时可从后续版本中删除。 实验性功能不支持在生产环境中使用,并且使用这些功能的应用程序无法发布到 Microsoft 应用商店。

  • 不支持解压缩的应用。

了解由人工智能(AI)支持的Windows 应用 SDK API,它可以检测和提取图像中每个匹配的文本(字符、字词、行、多边形文本边界和置信度),并将其转换为计算机可读字符流。

有关详细信息,请参阅Windows 应用 SDK中的文本识别(OCR)入门。

提示

通过在 Windows 应用 SDK GitHub 存储库中创建新问题(在标题中包括 OCR),或回复现有问题,来提供这些 API 及其功能的反馈。


Microsoft.Windows.Vision 命名空间

为分析图像文本内容的机器学习模型提供 API。

DetectedLineStyle 枚举

public enum DetectedLineStyle

指定可识别的线型。

字段

手写:0

文本行是手写的。

其他:1%

文本行不是手写的。

OrientationDetectionOptions 枚举

public enum OrientationDetectionOptions

指定可识别的文本方向。

字段

None:0

无法识别方向。

DetectOrientation:1

已识别方向。

RecognizedLine 类

public sealed class RecognizedLine

表示单行已识别的文本。

RecognizedLine.Style 属性

public Microsoft.Windows.Vision.RecognizedLineStyle Style { get; }

获取已识别的线型。

属性值

已识别的线型。

注解

包括文本行是否手写,以及识别可信度级别。

RecognizedLine.Text 属性

public string Text { get; }

获取已识别行的文本。

属性值

已识别行的文本。

注解

所有字词都用空格连接。

RecognizedLine.Words 属性

public Microsoft.Windows.Vision.RecognizedWord[] Words { get; }

已识别行中的字词。

属性值

已识别行中的字词。

RecognizedLineStyle 结构

public struct RecognizedLineStyle

表示已识别行的样式。

字段

Confidence

线型识别的可信度。

名称

线型名称。

RecognizedText 类

public sealed class RecognizedText

表示图像到文本识别操作的结果。

RecognizedText.ImageAngle 属性

public float ImageAngle { get; }

获取已识别文本的顺时针旋转角度(以度为单位)。

属性值

已识别文本的顺时针旋转角度(以度为单位)。

RecognizedText.Lines 属性

public Microsoft.Windows.Vision.RecognizedLine[] Lines { get; }

获取已识别行的集合。

属性值

已识别行的集合。

RecognizedWord 类

public sealed class RecognizedWord

表示单个已识别的字词。

RecognizedWord.BoundingBox 属性

public Microsoft.Windows.Vision.BoundingBox BoundingBox { get; }

获取已识别字词的四边边界。

属性值

已识别字词的四边边界。 TopLeft 相对于字词的旋转。

RecognizedWord.Confidence 属性

public float Confidence { get; }

获取正确识别此单词的可能性。

属性值

哇,此字词可能被正确识别。 值范围可以是 0.0 到 1.0(含)。

RecognizedWord.Text 属性

public string Text { get; }

获取已识别字词的文本。

属性值

已识别字词的文本。

TextRecognition.BoundingBox 结构

public struct BoundingBox

有 4 个点的多边形,用于已识别字词和文本行的边界。

字段

BottomLeft

范围框的左下角。

BottomRight

范围框的右下角。

TopLeft

范围框的左上角点。

TopRight

范围框的右上角点。

注解

作为字词或线条的边界返回时,TopLeftTopRightBottomRightBottomLeft 点相对于图像中已识别文本的旋转和倾斜。 下图显示了不同文本旋转的点布局,其中 0 是 TopLeft,1 是 TopRight,2 是 BottomRight,3 是 BottomLeft,都是相对于文本的。

三个范围框示例的关系图,显示了如何根据文本旋转标识角点。

TextRecognizer 类

public sealed class TextRecognizer : System.IDisposable

识别源图像中的字词和行及其四边边界。

TextRecognizer.Close 方法

释放对象和关联的资源。

注解

未在 C# 中实现。

TextRecognizer.CreateAsync 方法

public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.Vision.TextRecognizer> CreateAsync ();

异步创建 TextRecognizer 类的新实例。

返回

TextRecognizer 类的新实例。

如果 GetModelReadyStatus 未就绪,则会返回错误。

TextRecognizer.IsAvailable 方法

public static bool IsAvailable ();

检索是否已安装底层语言模型。

返回

如果安装了底层语言模型,则 True。 否则为 false。

TextRecognizer.MakeAvailableAsync 方法

public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult, 
Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();

请确保已安装底层语言模型并可供使用。

返回

具有进度的异步操作,该操作在完成时返回 PackageDeploymentResult

TextRecognizer.RecognizeTextFromImage(Microsoft.Windows.Imaging.ImageBuffer, Microsoft.Windows.Vision.TextRecognizerOptions) 方法

public Microsoft.Windows.Vision.RecognizedText RecognizeTextFromImage (Microsoft.Windows.Imaging.ImageBuffer imageBuffer, 
Microsoft.Windows.Vision.TextRecognizerOptions options);

识别所提供图像中的文本。

参数
imageBuffer

未压缩的位图。

选项

用于为 TextRecognizer 配置文本识别模型的选项。

返回

已识别的文本。

TextRecognizer.RecognizeTextFromImageAsync(Microsoft.Windows.Imaging.ImageBuffer, Microsoft.Windows.Vision.TextRecognizerOptions) 方法

public Windows.Foundation.IAsyncOperation<Microsoft.Windows.Vision.RecognizedText> RecognizeTextFromImageAsync (Microsoft.Windows.Imaging.ImageBuffer imageBuffer, 
Microsoft.Windows.Vision.TextRecognizerOptions options);

异步识别所提供图像中的文本。

参数
imageBuffer

未压缩的位图。

选项

用于为 TextRecognizer 配置文本识别模型的选项。

返回

已识别的文本。

TextRecognizerOptions 类

public sealed class TextRecognizerOptions

提供用于为 TextRecognizer 配置文本识别模型的选项。

TextRecognizerOptions.MaxAnalysisSize 属性

public Windows.Graphics.SizeInt32 MaxAnalysisSize { get; set; }

获取或设置图像的最大大小。

属性值

最大图像大小。 默认值为宽度 1152 和高度 768。

注解

此大小是建议,可能并不总是被遵循。

如果源图像大于最大大小,则它将自动缩减为最大大小。

TextRecognizerOptions.MaxLineCount 属性

public uint MaxLineCount { get; set; }

获取或设置从识别操作返回的最大行数。

属性值

从识别操作返回的最大行数。

注解

默认为 MaxLineCountSupported。 如果指定,则返回的最大行数将取该值和 MaxLineCountSupported 中的较小者。

TextRecognizerOptions.OrientationDetection 属性

public Microsoft.Windows.Vision.OrientationDetectionOptions OrientationDetection { get; set; }

获取或设置是否检测文本方向。

属性值

是否检测文本方向。 默认值为无。

TextRecognizerOptions.#ctor 构造函数

public TextRecognizerOptions ();

初始化 TextRecognizerOptions 类的新实例。