次の方法で共有


Windows アプリ SDK のテキスト認識 API の API リファレンス

Windows アプリ SDK に付属する新しい人工知能 (AI) テキスト認識 API について説明します。この API を使用して、画像内の文字の識別、単語、行、多角形の境界を認識し、生成された一致の信頼度を提供できます。

詳細については、Windows アプリ SDKのテキスト認識を参照してください。

重要

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


Microsoft.Windows.Vision namespace

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

Microsoft.Windows.Vision.TextRecognition.BoundingBox struct

public struct BoundingBox

認識された単語とテキスト行の境界に使用される 4 つのポイントを持つ多角形。

フィールド

BottomLeft

境界ボックスの左下隅。

BottomRight

境界ボックスの右下隅。

TopLeft

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

TopRight

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

解説

単語または行の境界として返された場合、TopLeftTopRightBottomRight、および BottomLeft ポイントは、画像内で認識されたテキストの回転と傾斜を基準とします。 次の図は、0 が TopLeft、1 が TopRight、2 が BottomRight、3 が BottomLeft (すべてテキストを基準とする) であるさまざまなテキスト回転のポイント レイアウトを示しています。

テキストの回転に基づいてコーナー ポイントがどのように識別されるかを示す 三つの境界ボックス例の図。

Microsoft.Windows.Vision.DetectedLineStyle enum

public enum DetectedLineStyle

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

列挙型フィールド

Handwritten: 0

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

Other: 1

テキスト行は手書きではありません。

Microsoft.Windows.Vision.OrientationDetectionOptions enum

public enum OrientationDetectionOptions

認識できるテキストの向きを指定します。

列挙型フィールド

None: 0

向きが認識されません。

DetectOrientation: 1

向きが認識されます。

Microsoft.Windows.Vision.RecognizedLine class

public sealed class RecognizedLine

認識されたテキストの 一行を表します。

Microsoft.Windows.Vision.RecognizedLine.Style property

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

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

プロパティ値

認識された行のスタイル。

解説

テキスト行が手書きであったかどうか、および認識の信頼度が含まれます。

Microsoft.Windows.Vision.RecognizedLine.Text property

public string Text { get; }

認識された行のテキストを取得します。

プロパティ値

認識された行のテキスト。

解説

すべての単語がスペースで連結されています。

Microsoft.Windows.Vision.RecognizedLine.Words property

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

認識された行の単語。

プロパティ値

認識された行の単語。

Microsoft.Windows.Vision.RecognizedLineStyle struct

public struct RecognizedLineStyle

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

構造体のフィールド

信頼度

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

名前

行のスタイル名。

Microsoft.Windows.Vision.RecognizedText class

public sealed class RecognizedText

画像からテキストへの認識操作の結果を表します。

Microsoft.Windows.Vision.RecognizedText.ImageAngle property

public float ImageAngle { get; }

認識されたテキストの時計回りの回転角度を度単位で取得します。

プロパティ値

認識されたテキストの時計回りの回転角度 (度単位)。

Microsoft.Windows.Vision.RecognizedText.Lines property

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

認識された行のコレクションを取得します。

プロパティ値

認識された行のコレクション。

Microsoft.Windows.Vision.RecognizedWord class

public sealed class RecognizedWord

認識された ひとつの単語を表します。

Microsoft.Windows.Vision.RecognizedWord.BoundingBox property

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

認識された単語の四角形境界を取得します。

プロパティ値

認識された単語の四角形境界。 TopLeft は、単語の回転を基準にしています。

Microsoft.Windows.Vision.RecognizedWord.Confidence property

public float Confidence { get; }

この単語が正しく認識された可能性を取得します。

プロパティ値

この単語が正しく認識された可能性。 値の範囲は 0.0 から 1.0 (両端の値を含む) です。

Microsoft.Windows.Vision.RecognizedWord.Text property

public string Text { get; }

認識された単語のテキストを取得します。

プロパティ値

認識された単語のテキスト。

Microsoft.Windows.Vision.TextRecognition.TextRecognizer class

public sealed class TextRecognizer : System.IDisposable

ソース画像内の単語と行、およびその四角形の境界を認識します。

Microsoft.Windows.Vision.TextRecognizer.Close method

オブジェクトと関連付けられているリソースを破棄します。

解説

C# では実装されていません。

Microsoft.Windows.Vision.TextRecognizer.CreateAsync method

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

TextRecognizer クラスの新しいインスタンスを非同期的に作成します。

返品

TextRecognizer クラスの新しいインスタンス。

GetModelReadyStatus が Ready でない場合、エラーが返されます。

Microsoft.Windows.Vision.TextRecognizer.IsAvailable method

public static bool IsAvailable ();

基になる言語モデルがインストールされているかどうかを取得します。

返品

基になる言語モデルがインストールされている場合は True。 それ以外の場合は、 falseです。

Microsoft.Windows.Vision.TextRecognizer.MakeAvailableAsync method

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

基になる言語モデルがインストールされ、使用できることを確認します。

返品

完了時に PackageDeploymentResult を返す進行状況を含む非同期アクション。

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

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

指定された画像内のテキストを認識します。

パラメーター
imageBuffer

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

options

TextRecognizer のテキスト認識モデルを構成するためのオプション。

返品

認識されたテキスト。

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

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

指定された画像内のテキストを非同期的に認識します。

パラメーター
imageBuffer

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

options

TextRecognizer のテキスト認識モデルを構成するためのオプション。

返品

認識されたテキスト。

Microsoft.Windows.Vision.TextRecognizerOptions class

public sealed class TextRecognizerOptions

TextRecognizer のテキスト認識モデルを構成するためのオプションを提供します。

Microsoft.Windows.Vision.TextRecognizerOptions.MaxAnalysisSize property

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

最大画像サイズを取得または設定します。

プロパティ値

最大画像サイズ。 既定値は、幅 1152、高さ 768 です。

解説

このサイズは提案であり、常に優先されるとは限りません。

ソース画像が最大サイズより大きい場合は、自動的にサイズの上限に縮小されます。

Microsoft.Windows.Vision.TextRecognizerOptions.MaxLineCount property

public uint MaxLineCount { get; set; }

認識操作から返される行の最大数を取得または設定します。

プロパティ値

認識操作から返される行の最大数。

解説

既定値は MaxLineCountSupported です。 指定した場合、返される最大行数は、この値と MaxLineCountSupported の小さい方になります。

Microsoft.Windows.Vision.TextRecognizerOptions.OrientationDetection property

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

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

プロパティ値

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

Microsoft.Windows.Vision.TextRecognizerOptions.#ctor constructor

public TextRecognizerOptions ();

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


Microsoft.Windows.Imaging namespace

画像を操作する機械学習モデルの API を提供します。

Microsoft.Windows.Imaging.ImageBuffer class

public sealed class ImageBuffer : System.IDisposable

効率的なクロスプロセス マーシャリングのための圧縮されていないビットマップを表します。

解説

ImageBuffer は、画像データを必要とする TextRecognizer などの AI モデル API で使用できます。 一般的な使用法には、既存の SoftwareBitmap から ImageBuffer を作成することが含まれます。

Microsoft.Windows.Imaging.ImageBuffer.Buffer property

public Windows.Storage.Streams.IBuffer Buffer { get; }

現在の画像バッファーを取得します。

プロパティ値

現在の画像バッファー。

Microsoft.Windows.Imaging.ImageBuffer.BufferLength property

public uint BufferLength { get; }

画像バッファーの長さを取得します。

プロパティ値

画像バッファーの長さ。

Microsoft.Windows.Imaging.ImageBuffer.Close method

オブジェクトと関連付けられているリソースを破棄します。

解説

C# では実装されていません。

Microsoft.Windows.Imaging.ImageBuffer.CopyToBuffer(System.Byte[]) method

public void CopyToBuffer (byte[] values);

指定されたターゲット バッファーに現在のバッファーをコピーします。

パラメーター

バッファー内のバイトのベクトル。

Microsoft.Windows.Imaging.ImageBuffer.CreateBufferAttachedToBitmap(Windows.Graphics.Imaging.SoftwareBitmap) method

public static Microsoft.Windows.Imaging.ImageBuffer CreateBufferAttachedToBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);

ビットマップ オブジェクトから IMemoryBufferReference を取得して、既存の SotftwareBitmap から新しい ImageBuffer を作成します。

パラメーター
softwareBitmap

ImageBuffer の作成に使用する SotftwareBitmap。

返品

ImageBuffer、またはサポートされていない形式の場合は null。

解説

SoftwareBitmap は、非同期操作が完了し、新しい ImageBuffer が破棄されるまでロックされます。

Microsoft.Windows.Imaging.ImageBuffer.CreateCopyFromBitmap(Windows.Graphics.Imaging.SoftwareBitmap) method

public static Microsoft.Windows.Imaging.ImageBuffer CreateCopyFromBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);

基になるビットマップ データをコピーして、既存の SotftwareBitmap から新しい ImageBuffer を作成します。

パラメーター
softwareBitmap

ImageBuffer の作成に使用する SotftwareBitmap。

返品

ImageBuffer、またはサポートされていない形式の場合は null。

解説

SoftwareBitmap は、非同期操作が完了し、新しい ImageBuffer が破棄されるまでロックされます。

Microsoft.Windows.Imaging.ImageBuffer.CreateSoftwareBitmap method

public Windows.Graphics.Imaging.SoftwareBitmap CreateSoftwareBitmap ();

ImageBuffer に格納されているピクセル データから、ピクセル タイプ BGRA32 の新しい SoftwareBitmap を作成します。

返品

ピクセル タイプ BGRA32 の新しい SoftwareBitmap。

Microsoft.Windows.Imaging.ImageBuffer.Height property

public uint Height { get; }

画像の高さをピクセル単位で取得します。

プロパティ値

画像の高さ (ピクセル単位)。

Microsoft.Windows.Imaging.ImageBuffer.#ctor(Windows.Storage.Streams.IBuffer, Microsoft.Windows.Imaging.PixelFormat, System.UInt32, System.UInt32) constructor

public ImageBuffer (Windows.Storage.Streams.IBuffer buffer, 
Microsoft.Windows.Imaging.PixelFormat pixelFormat, uint width, uint height);

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

パラメーター
buffer

ImageBuffer。

pixelFormat

画像のピクセル形式。

width

画像の幅 (ピクセル単位)。

height

画像の高さ (ピクセル単位)。

Microsoft.Windows.Imaging.ImageBuffer.PixelFormat property

public Microsoft.Windows.Imaging.PixelFormat PixelFormat { get; }

画像のピクセル形式を取得します。

プロパティ値

画像のピクセル形式。

Microsoft.Windows.Imaging.ImageBuffer.Width property

public uint Width { get; }

画像の幅をピクセル単位で取得します。

プロパティ値

画像の幅 (ピクセル単位)。

Microsoft.Windows.Imaging.PixelFormat enum

public enum PixelFormat

基になるビットマップ データのバイナリ レイアウトの種類を指定します。

列挙型フィールド

Undefined: 0

バイナリ形式は未定義です。

Rgb24: 1

バイナリ形式はピクセルあたり 24 ビットです。赤、緑、青のコンポーネントにそれぞれ 8 ビットが使用されます。

Argb32: 2

バイナリ形式はピクセルあたり 32 ビットです。アルファ、赤、緑、青のコンポーネントにそれぞれ 8 ビットが使用されます。

Rgba32: 3

バイナリ形式はピクセルあたり 32 ビットです。赤、緑、青、アルファのコンポーネントにそれぞれ 8 ビットが使用されます。 カラー コンポーネントは、赤、緑、青、アルファの順に格納されます。

Bgra32: 4

バイナリ形式はピクセルあたり 32 ビットです。青、緑、赤、アルファ のコンポーネントにそれぞれ 8 ビットが使用されます。 カラー コンポーネントは、青、緑、赤、アルファの順に格納されます。

Gray8: 5

バイナリ形式は、ピクセルあたり 16 ビットです。 このカラー情報は 65536 種類の灰色の濃淡を指定します。