RecognitionAlternate.Confidence プロパティ
認識エンジンが RecognitionAlternate オブジェクトの認識で持つ信頼性レベルを取得します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink (Microsoft.Ink.dll 内)
構文
'宣言
Public ReadOnly Property Confidence As RecognitionConfidence
'使用
Dim instance As RecognitionAlternate
Dim value As RecognitionConfidence
value = instance.Confidence
public RecognitionConfidence Confidence { get; }
public:
property RecognitionConfidence Confidence {
RecognitionConfidence get ();
}
/** @property */
public RecognitionConfidence get_Confidence()
public function get Confidence () : RecognitionConfidence
プロパティ値
型 : Microsoft.Ink.RecognitionConfidence
認識エンジンが RecognitionAlternate オブジェクトまたはジェスチャの認識で持つ信頼性レベル。
解説
代替候補が句または文を表す場合、値は、句または文で検出された認識セグメントの最下位の信頼性レベルを表します。ただし、代替候補が単語を表す場合、値は、単語の信頼性レベルを表します。
メモ : |
---|
RecognitionAlternate を生成する Recognizer が信頼性レベルをサポートしない場合、このプロパティは例外をスローします。 |
Microsoft® の認識エンジンの場合、Microsoft 英語 (米国) 手書き認識エンジンと Microsoft ジェスチャ認識エンジンだけが信頼性レベルをサポートします。サード パーティの認識エンジンは、信頼性レベルをサポートしている場合とサポートしていない場合があります。
例
この C# の例では、Button コントロール theButton が追加されているフォーム ConfidenceAlternatesForm のイベント ハンドラを定義します。サンプルでは、InkCollectortheInkCollector、RecognizerContexttheRecognizerContext、および RecognitionResulttheRecognitionResult も定義します。これらはインクの収集と認識の実行に使用されます。
フォームの読み込みイベントのイベント ハンドラはインク コレクタを作成し、英語 (米国) の認識エンジン コンテキストを取得します。
ボタンのクリック イベントのイベント ハンドラは、インク コレクタのストロークに対して認識を実行し、信頼性レベルの境界に従ってストロークを分割し、その信頼性レベルに従ってストロークに色を設定します。
[C#]
// Declare ink elements and create drawing attributes.
Microsoft.Ink.InkCollector theInkCollector = null;
Microsoft.Ink.RecognizerContext theRecognizerContext = null;
Microsoft.Ink.RecognitionResult theRecognitionResult = null;
Microsoft.Ink.DrawingAttributes theStrongDA =
new DrawingAttributes(Color.Green);
Microsoft.Ink.DrawingAttributes theIntermediateDA =
new DrawingAttributes(Color.Goldenrod);
Microsoft.Ink.DrawingAttributes thePoorDA =
new DrawingAttributes(Color.Red);
// Event handler for the form's Load event.
private void ConfidenceAlternatesForm_Load(object sender, System.EventArgs e)
{
// Create the ink collector.
this.theInkCollector = new Microsoft.Ink.InkCollector(this.Handle);
this.theInkCollector.Enabled = true;
// Get a recognizer context for the English (US) recognizer.
foreach (Recognizer theRecognizer in new Recognizers())
{
foreach (short lcid in theRecognizer.Languages)
{
// 0409 is the LCID for the en-us language.
if (0x0409 == lcid)
{
this.theRecognizerContext = theRecognizer.CreateRecognizerContext();
break;
}
}
if (null != theRecognizerContext)
{
break;
}
}
// Throw an exception if the recognizer is not found.
if (null == theRecognizerContext)
{
throw new ApplicationException("No recognizer found");
}
}
// Event handler for the button's Click event.
private void theButton_Click(object sender, System.EventArgs e)
{
// Check for ink before performing recognition.
if (0 == this.theInkCollector.Ink.Strokes.Count)
{
System.Windows.Forms.MessageBox.Show("No ink to recognize.");
return;
}
// Perform recognition on the strokes currently in the ink collector.
Microsoft.Ink.RecognitionStatus theRecognitionStatus;
this.theRecognizerContext.Strokes = this.theInkCollector.Ink.Strokes;
this.theRecognitionResult =
this.theRecognizerContext.Recognize(out theRecognitionStatus);
// Check the recognition status.
if (Microsoft.Ink.RecognitionStatus.NoError != theRecognitionStatus)
{
System.Windows.Forms.MessageBox.Show(
"There was an error recognizing the ink.");
return;
}
// Check for a recognition result.
if (null == this.theRecognitionResult)
{
System.Windows.Forms.MessageBox.Show(
"No recognition result available.");
return;
}
// Get the confidence alternates collection for the top alternate.
Microsoft.Ink.RecognitionAlternates theConfidenceAlternates =
this.theRecognitionResult.TopAlternate.ConfidenceAlternates;
using (System.Drawing.Graphics g = this.CreateGraphics())
{
// Clear the drawing surface
g.Clear(this.BackColor);
// For each confidence alternate in the collection:
foreach(Microsoft.Ink.RecognitionAlternate theAlternate
in theConfidenceAlternates)
{
// Update the drawing attributes.
switch (theAlternate.Confidence)
{
case Microsoft.Ink.RecognitionConfidence.Strong:
theAlternate.Strokes.ModifyDrawingAttributes(
theStrongDA);
break;
case Microsoft.Ink.RecognitionConfidence.Intermediate:
theAlternate.Strokes.ModifyDrawingAttributes(
theIntermediateDA);
break;
case Microsoft.Ink.RecognitionConfidence.Poor:
theAlternate.Strokes.ModifyDrawingAttributes(
thePoorDA);
break;
}
}
// Redraw the ink.
this.theInkCollector.Renderer.Draw(g, this.theRecognitionResult.Strokes);
}
}
// Event handler for the form's Closed event.
private void ConfidenceAlternatesForm_Closed(object sender, System.EventArgs e)
{
// Free the resources for the ink collector, recognizer context, and pens.
this.theInkCollector.Dispose();
this.theInkCollector = null;
this.theRecognizerContext.Dispose();
this.theRecognizerContext = null;
}
この Microsoft® Visual Basic® .NET の例では、Button コントロール theButton が追加されているフォーム ConfidenceAlternatesForm のイベント ハンドラを定義します。サンプルでは、InkCollectortheInkCollector、RecognizerContexttheRecognizerContext、および RecognitionResulttheRecognitionResult も定義します。これらはインクの収集と認識の実行に使用されます。
フォームの読み込みイベントのイベント ハンドラはインク コレクタを作成し、英語 (米国) の認識エンジン コンテキストを取得します。
ボタンのクリック イベントのイベント ハンドラは、インク コレクタのストロークに対して認識を実行し、信頼性レベルの境界に従ってストロークを分割し、その信頼性レベルに従ってストロークに色を設定します。
[Visual Basic]
' Declare ink elements and create drawing attributes.
Dim theInkCollector As Microsoft.Ink.InkCollector
Dim theRecognizerContext As Microsoft.Ink.RecognizerContext
Dim theRecognitionResult As Microsoft.Ink.RecognitionResult
Dim theStrongDA As Microsoft.Ink.DrawingAttributes = New DrawingAttributes(Color.Green)
Dim theIntermediateDA As Microsoft.Ink.DrawingAttributes = New DrawingAttributes(Color.Goldenrod)
Dim thePoorDA As Microsoft.Ink.DrawingAttributes = New DrawingAttributes(Color.Red)
' Event handler for the form's Load event.
Private Sub ConfidenceAlternatesForm_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
' Create the ink collector.
Me.theInkCollector = New Microsoft.Ink.InkCollector(Me.Handle)
Me.theInkCollector.Enabled = True
' Get a recognizer context for the English (US) recognizer.
For Each theRecognizer As Recognizer In New Recognizers
For Each lcid As Short In theRecognizer.Languages
' 0409 is the LCID for the en-us language.
If &H409 = lcid Then
Me.theRecognizerContext = theRecognizer.CreateRecognizerContext()
Exit For
End If
Next
If Not (theRecognizerContext Is Nothing) Then
Exit For
End If
Next
' Throw an exception if the recognizer is not found.
If theRecognizerContext Is Nothing Then
Throw New ApplicationException("No recognizer found")
End If
End Sub
' Event handler for the "Recognize" button's Click event.
Private Sub theButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles theButton.Click
' Check for ink before performing recognition.
If Me.theInkCollector.Ink.Strokes.Count = 0 Then
System.Windows.Forms.MessageBox.Show("No ink to recognize.")
Return
End If
' Perform recognition on the strokes currently in the ink collector.
Dim theRecognitionStatus As Microsoft.Ink.RecognitionStatus
Me.theRecognizerContext.Strokes = Me.theInkCollector.Ink.Strokes
Me.theRecognitionResult = _
Me.theRecognizerContext.Recognize(theRecognitionStatus)
' Check for a recognition result.
If (Me.theRecognitionResult Is Nothing) Then
System.Windows.Forms.MessageBox.Show("No recognition result available.")
Return
End If
' Get the confidence alternates collection for the top alternate.
Dim theConfidenceAlternates As Microsoft.Ink.RecognitionAlternates = _
Me.theRecognitionResult.TopAlternate.ConfidenceAlternates
' Create a temporary graphics object.
Dim g As System.Drawing.Graphics = Me.CreateGraphics()
' Clear the drawing surface
g.Clear(Me.BackColor)
' For each confidence alternate in the collection:
For Each theAlternate As Microsoft.Ink.RecognitionAlternate _
In theConfidenceAlternates
' Update the drawing attributes.
Select Case theAlternate.Confidence
Case RecognitionConfidence.Strong
theAlternate.Strokes.ModifyDrawingAttributes(theStrongDA)
Case RecognitionConfidence.Intermediate
theAlternate.Strokes.ModifyDrawingAttributes(theIntermediateDA)
Case RecognitionConfidence.Poor
theAlternate.Strokes.ModifyDrawingAttributes(thePoorDA)
End Select
Next
' Redraw the ink.
Me.theInkCollector.Renderer.Draw(g, Me.theRecognitionResult.Strokes)
' Dispose of the graphics object.
g.Dispose()
End Sub
' Event handler for the form's Closed event.
Private Sub ConfidenceAlternatesForm_Closed(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Closed
' Free the resources for the ink collector and recognizer context.
Me.theInkCollector.Dispose()
Me.theInkCollector = Nothing
Me.theRecognizerContext.Dispose()
Me.theRecognizerContext = Nothing
End Sub
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0