英語で読む

次の方法で共有


Windows App SDK での AI テキスト認識 (OCR) の API リファレンス

重要

Windows App SDK の最新の 試験的チャネル リリースで使用できます。

Windows App SDK の実験用チャネルには、開発の初期段階の API と機能が含まれています。 実験用チャネル内のすべての API は、広範な変更と破壊的変更の対象となり、今後のリリースからいつでも削除される可能性があります。 試験段階の機能は運用環境での使用はサポートされておらず、使用するアプリは Microsoft Store に公開できません。

  • パッケージ化されていないアプリはサポートされていません。

画像内のテキスト (文字、単語、線、多角形のテキスト境界、各一致の信頼度) を検出して抽出し、コンピューターで読み取り可能な文字ストリームに変換できる、人工知能 (AI) によってサポートされるWindows アプリ SDK API について説明します。

詳細については、Windows アプリ SDKの「Get Started with Text Recognition (OCR)」を参照してください。

ヒント

これらの API とその機能に関するフィードバックを提供するには、Windows App SDK GitHub リポジトリに 新しいIssue を作成してください (タイトルに OCR を含む) または既存のIssueに応答してください。


Microsoft.Windows.Vision namespace

画像のテキスト コンテンツを分析する機械学習モデルの API を提供します。

DetectedLineStyle 列挙

public enum DetectedLineStyle

認識できる行のスタイルを指定します。

フィールド

Handwritten: 0

テキスト行は手書きです。

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

認識された行のスタイルを表します。

フィールド

信頼度

行スタイル認識の信頼度レベル。

Name

行のスタイル名。

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

境界ボックスの右上のポイント。

解説

単語または行の境界として返された場合、TopLeftTopRightBottomRight、および BottomLeft ポイントは、画像内で認識されたテキストの回転と傾斜を基準とします。 次の図は、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 が Ready でない場合、エラーが返されます。

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

圧縮されていないビットマップ。

options

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

圧縮されていないビットマップ。

options

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

テキストの向きを検出するかどうかを取得または設定します。

プロパティ値

テキストの向きを検出するかどうか。 既定値は None です。

TextRecognizerOptions.#ctor コンストラクター

public TextRecognizerOptions ();

TextRecognizerOptions クラスの新しいインスタンスを初期化します。