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
境界ボックスの右上のポイント。
解説
単語または行の境界として返された場合、TopLeft、TopRight、BottomRight、および 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 種類の灰色の濃淡を指定します。