Condividi tramite


Proprietà RecognitionAlternate.Confidence

Aggiornamento: novembre 2007

Ottiene il livello di probabilità di un sistema di riconoscimento nel riconoscimento di un oggetto RecognitionAlternate.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
Public ReadOnly Property Confidence As RecognitionConfidence
'Utilizzo
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

Valore proprietà

Tipo: Microsoft.Ink.RecognitionConfidence
Livello di probabilità di un sistema di riconoscimento nel riconoscimento di un oggetto RecognitionAlternate o di un movimento.

Note

Se l'alternativa rappresenta una frase, il valore rappresenta il livello di probabilità più basso di un segmento di riconoscimento trovato nella frase. Tuttavia, se l'alternativa rappresenta una parola, il valore rappresenta il livello di probabilità della parola.

Nota

Questa proprietà genera un'eccezione se l'oggetto Recognizer che genera l'oggetto RecognitionAlternate non supporta i livelli di probabilità.

Tra i sistemi di riconoscimento Microsoft®, solo il Riconoscimento grafia inglese (USA) Microsoft e il Riconoscimento movimenti Microsoft supportano i livelli di probabilità. I livelli di probabilità non sono supportati da tutti i riconoscimenti di terze parti.

Esempi

In questo esempio di C# vengono definiti i gestori eventi per un form, ConfidenceAlternatesForm, a cui è stato aggiunto un controllo Button, theButton. Nell'esempio vengono inoltre definiti un oggetto InkCollector, theInkCollector, un oggetto RecognizerContext, theRecognizerContext e un oggetto RecognitionResult, theRecognitionResult, utilizzati per raccogliere l'input penna ed eseguire il riconoscimento.

Il gestore eventi per l'evento Load del form crea un agente di raccolta dell'input penna e ottiene un contesto di riconoscimento per la lingua inglese (USA).

Il gestore eventi per l'evento Click del pulsante esegue il riconoscimento dei tratti nell'agente di raccolta dell'input penna, divide i tratti in base ai limiti del livello di probabilità e li colora sulla base del relativo livello di probabilità.

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

In questo esempio di Microsoft Visual Basic® .NET vengono definiti i gestori eventi per un form, ConfidenceAlternatesForm, a cui è stato aggiunto un controllo Button, theButton. Nell'esempio vengono inoltre definiti un oggetto InkCollector, theInkCollector, un oggetto RecognizerContext, theRecognizerContext e un oggetto RecognitionResult, theRecognitionResult, utilizzati per raccogliere l'input penna ed eseguire il riconoscimento.

Il gestore eventi per l'evento Load del form crea un agente di raccolta dell'input penna e ottiene un contesto di riconoscimento per la lingua inglese (USA).

Il gestore eventi per l'evento Click del pulsante esegue il riconoscimento dei tratti nell'agente di raccolta dell'input penna, divide i tratti in base ai limiti del livello di probabilità e li colora sulla base del relativo livello di probabilità.

[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

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

RecognitionAlternate Classe

Membri RecognitionAlternate

Spazio dei nomi Microsoft.Ink

Recognizer