GdPicture.NET.14
GdPicture14 Namespace / GdPictureOCR Class / GetCharacterConfidence Method
The unique result identifier of the executed OCR process obtained by the RunOCR method.
The 0-based index of the character within the specified OCR result. It must be a value between 0 and GetCharacterCount(OCRResultID) - 1.
Example





In This Topic
GetCharacterConfidence Method (GdPictureOCR)
In This Topic
Returns the confidence of the specified character, that is a part of a specified OCR result.
Syntax
'Declaration
 
Public Function GetCharacterConfidence( _
   ByVal OCRResultID As String, _
   ByVal CharacterIdx As Integer _
) As Single
public float GetCharacterConfidence( 
   string OCRResultID,
   int CharacterIdx
)
public function GetCharacterConfidence( 
    OCRResultID: String;
    CharacterIdx: Integer
): Single; 
public function GetCharacterConfidence( 
   OCRResultID : String,
   CharacterIdx : int
) : float;
public: float GetCharacterConfidence( 
   string* OCRResultID,
   int CharacterIdx
) 
public:
float GetCharacterConfidence( 
   String^ OCRResultID,
   int CharacterIdx
) 

Parameters

OCRResultID
The unique result identifier of the executed OCR process obtained by the RunOCR method.
CharacterIdx
The 0-based index of the character within the specified OCR result. It must be a value between 0 and GetCharacterCount(OCRResultID) - 1.

Return Value

The confidence of the specified character in the range [0 - 100]. Please always use the GetStat method to determine if this method has been successful.
Remarks
It is recommend to use the GetStat method to identify the specific reason for the method's failure, if any.
Example
How to find out the confidence of the character recognized by the OCR.
Dim caption As String = "Example: GetCharacterConfidence"
Dim gdpictureOCR As GdPictureOCR = New GdPictureOCR
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF
'Load the PDF document.
If gdpicturePDF.LoadFromFile("input.pdf", False) = GdPictureStatus.OK Then
    'Select the first page.
    gdpicturePDF.SelectPage(1)
    'Render this page to a 200 DPI image.
    Dim image As Integer = gdpicturePDF.RenderPageToGdPictureImage(200, True)
    If gdpicturePDF.GetStat = GdPictureStatus.OK AndAlso
       gdpictureOCR.SetImage(image) = GdPictureStatus.OK Then
        'Setting up the image is mandatory.
        'Set the New origin for better coordinates handling.
        gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
        gdpicturePDF.SetLineColor(Color.Orchid)
        gdpicturePDF.SetLineWidth(2)
        'Set up the OCR parameters.
        gdpictureOCR.ResourcesFolder = "C:\Path\To\GdPicture.NET 14\Redist\OCR"
        gdpictureOCR.AddLanguage(OCRLanguage.English)
        gdpictureOCR.OCRMode = OCRMode.FavorAccuracy
        'Set up the OCR context and the character list.
        gdpictureOCR.Context = OCRContext.OCRContextDocument
        gdpictureOCR.CharacterSet = "@"
        'Run the OCR process to recognize the character.
        Dim resID As String = gdpictureOCR.RunOCR()
        If gdpictureOCR.GetStat = GdPictureStatus.OK Then
            Dim charCount As Integer = gdpictureOCR.GetCharacterCount(resID)
            If gdpictureOCR.GetStat() = GdPictureStatus.OK Then
                Dim message As String = "The number of recognized characters: " + charCount.ToString() + vbCrLf
                Dim left As Integer = 0, top As Integer = 0
                For i As Integer = 0 To charCount - 1
                    message = message + "   The confidence of the character nr. " + i.ToString() + " is: " + gdpictureOCR.GetCharacterConfidence(resID, i).ToString()
                    left = gdpictureOCR.GetCharacterLeft(resID, i)
                    top = gdpictureOCR.GetCharacterTop(resID, i)
                    If gdpicturePDF.DrawRectangle(left, top, gdpictureOCR.GetCharacterRight(resID, i) - left, gdpictureOCR.GetCharacterBottom(resID, i) - top, False, True) = GdPictureStatus.OK Then
                        message = message + "   Drawn: yes" + vbCrLf
                    Else
                        message = message + "   Drawn: no" + vbCrLf
                    End If
                Next
                MessageBox.Show(message, caption)
                'Continue with analyzing the result ...
                'Save the page with drawn recognized phone number to the new PDF document.
                If gdpicturePDF.SaveToFile("output.pdf") = GdPictureStatus.OK Then
                    MessageBox.Show("Done!", caption)
                Else
                    MessageBox.Show("The file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption)
                End If
            Else
                MessageBox.Show("The GetCharacterCount() method has failed with the status: " + gdpictureOCR.GetStat().ToString(), caption)
            End If
        Else
            MessageBox.Show("The error occurred when running the OCR. Status: " + gdpictureOCR.GetStat().ToString(), caption)
        End If
        'Release the image.
        GdPictureDocumentUtilities.DisposeImage(image)
    Else
        MessageBox.Show("The error occurred when creating or setting up the image. Status: " + gdpicturePDF.GetStat().ToString() + "/" + gdpictureOCR.GetStat().ToString(), caption)
    End If
    'Close the document.
    gdpicturePDF.CloseDocument()
Else
    MessageBox.Show("The file can't be loaded. Status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
'Release resources.
gdpictureOCR.ReleaseOCRResults()
gdpictureOCR.Dispose()
gdpicturePDF.Dispose()
string caption = "Example: GetCharacterConfidence";
GdPictureOCR gdpictureOCR = new GdPictureOCR();
GdPicturePDF gdpicturePDF = new GdPicturePDF();
//Load the PDF document.
if (gdpicturePDF.LoadFromFile("input.pdf", false) == GdPictureStatus.OK)
{
    //Select the first page.
    gdpicturePDF.SelectPage(1);
    //Render this page to a 200 DPI image.
    int image = gdpicturePDF.RenderPageToGdPictureImage(200, true);
    if ((gdpicturePDF.GetStat() == GdPictureStatus.OK) &&
        (gdpictureOCR.SetImage(image) == GdPictureStatus.OK)) //Setting up the image is mandatory.
    {
        //Set the new origin for better coordinates handling.
        gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
        gdpicturePDF.SetLineColor(Color.Orchid);
        gdpicturePDF.SetLineWidth(2);
        //Set up the OCR parameters.
        gdpictureOCR.ResourcesFolder = "C:\\Path\\To\\GdPicture.NET 14\\Redist\\OCR";
        gdpictureOCR.AddLanguage(OCRLanguage.English);
        gdpictureOCR.OCRMode = OCRMode.FavorAccuracy;
        //Set up the OCR context and the character list.
        gdpictureOCR.Context = OCRContext.OCRContextDocument;
        gdpictureOCR.CharacterSet = "@";
        //Run the OCR process to recognize the character.
        string resID = gdpictureOCR.RunOCR();
        if (gdpictureOCR.GetStat() == GdPictureStatus.OK)
        {
            int charCount = gdpictureOCR.GetCharacterCount(resID);
            if (gdpictureOCR.GetStat() == GdPictureStatus.OK)
            {
                string message = "The number of recognized characters: " + charCount.ToString() + "\n";
                int left = 0, top = 0;
                for (int i = 0; i < charCount; i++)
                {
                    message = message + "   The confidence of the character nr. " + i.ToString() + " is: " + gdpictureOCR.GetCharacterConfidence(resID, i).ToString();
                    left = gdpictureOCR.GetCharacterLeft(resID, i);
                    top = gdpictureOCR.GetCharacterTop(resID, i);
                    if (gdpicturePDF.DrawRectangle(left, top, gdpictureOCR.GetCharacterRight(resID, i) - left, gdpictureOCR.GetCharacterBottom(resID, i) - top, false, true) == GdPictureStatus.OK)
                        message = message + "   Drawn: yes\n";
                    else
                        message = message + "   Drawn: no\n";
                }
                MessageBox.Show(message, caption);
                //Continue with analyzing the result ...
                //Save the page with drawn recognized phone number to the new PDF document.
                if (gdpicturePDF.SaveToFile("output.pdf") == GdPictureStatus.OK)
                    MessageBox.Show("Done!", caption);
                else
                    MessageBox.Show("The file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption);
            }
            else
                MessageBox.Show("The GetCharacterCount() method has failed with the status: " + gdpictureOCR.GetStat().ToString(), caption);
        }
        else
            MessageBox.Show("The error occurred when running the OCR. Status: " + gdpictureOCR.GetStat().ToString(), caption);
        //Release the image.
        GdPictureDocumentUtilities.DisposeImage(image);
    }
    else
        MessageBox.Show("The error occurred when creating or setting up the image. Status: " + gdpicturePDF.GetStat().ToString() + "/" + gdpictureOCR.GetStat().ToString(), caption);
    //Close the document.
    gdpicturePDF.CloseDocument();
}
else
    MessageBox.Show("The file can't be loaded. Status: " + gdpicturePDF.GetStat().ToString(), caption);
//Release resources.
gdpictureOCR.ReleaseOCRResults();
gdpictureOCR.Dispose();
gdpicturePDF.Dispose();
See Also