OCROptions Object

Applies to TestComplete 12.60, last modified on September 17, 2018
The Optical Character Recognition feature provided by the OCR plugin is deprecated. It was removed from TestComplete in version 12.60 and is no longer available for later versions.
Instead, TestComplete version 12.60 introduces the new Optical Character Recognition engine featuring Google Cloud Vision API. To learn more, see Optical Character Recognition.
If you need to use the legacy feature, please contact our Customer Care team.

Description

The OCROptions object is used to configure settings that affect how optical character recognition in the visible area of the onscreen object will be performed. To get the OCROptions object, call the OCRObject.CreateOptions method.

Members

Example

The following code snippet creates an OCROptions object that contains the default character recognition settings and then posts those default settings to the test log.

JavaScript, JScript

function OCROptionsSample()
{
  var OnScreenObj, Rect, OCRObj, OCROptions, Info, Fonts, Count;
  …

  // Obtains an image of an on-screen object
  Rect = OnScreenObj.Picture();
  // Creates an OCR object
  OCRObj = OCR.CreateObject(Rect);
  // Creates an OCROptions object that stores the default character recognition settings
  OCROptions = OCRObj.DefaultOptions;

  // Obtains the default settings and posts them to the test log
  Info = "Active recognition set: " + OCROptions.ActiveRecognitionSet + "\r\n"+
         "Grayscale binarization: " + OCROptions.GrayScaleBinarization + "\r\n" +
         "Binarization threshold: " + OCROptions.BinarizationThreshold + "\r\n" +
         "Recognition autorejection: " + OCROptions.RecognitionRejectionAuto + "\r\n" +
         "Recognition rejection threshold: " + OCROptions.RecognitionRejection + "\r\n" +
         "Exact search is used: " + OCROptions.ExactSearch + "\r\n" +
         "Search accuracy threshold: " + OCROptions.SearchAccuracy + "\r\n" +
         "Skip fragmentation: " + OCROptions.SkipFragmentation;
  Log.Message("Character Recognition Default Settings", Info);
  // Obtains the collection of fonts used for character recognition
  // And posts them to the test log
  Fonts = OCROptions.Fonts;
  Count = Fonts.Count;
  Log.AppendFolder("Fonts used for character recognition:");
  for (var i = 0; i < Count; i++)
    Log.Message(Fonts.Item(i).Name);
  Log.PopLogFolder();

}

Python

def OCROptionsSample():
  # ...
  # Obtains an image of an on-screen object 
  Rect = OnScreenObj.Picture()
  # Creates an OCR object 
  OCRObj = OCR.CreateObject(Rect)
  # Creates an OCROptions object that stores the default character recognition settings 
  OCROptions = OCRObj.DefaultOptions
  # Obtains the default settings and posts them to the test log 
  Info = "Active recognition set: " + str(OCROptions.ActiveRecognitionSet) + "\r\n" + "Grayscale binarization: " + str(OCROptions.GrayScaleBinarization) + "\r\n" + "Binarization threshold: " + str(OCROptions.BinarizationThreshold) + "\r\n" + "Recognition autorejection: " + str(OCROptions.RecognitionRejectionAuto) + "\r\n" + "Recognition rejection threshold: " + str(OCROptions.RecognitionRejection) + "\r\n" + "Exact search is used: " + str(OCROptions.ExactSearch) + "\r\n" + "Search accuracy threshold: " + str(OCROptions.SearchAccuracy) + "\r\n" + "Skip fragmentation: " + str(OCROptions.SkipFragmentation)
  Log.Message("Character Recognition Default Settings", Info)
  # Obtains the collection of fonts used for character recognition 
  # And posts them to the test log 
  Fonts = OCROptions.Fonts
  Count = Fonts.Count
  Log.AppendFolder("Fonts used for character recognition:")
  for i in range(0, Count):
    Log.Message(Fonts.Item[i].Name)
  Log.PopLogFolder()

VBScript

Sub OCROptionsSample

  …

  ' Obtains an image of an on-screen object
  Set Rect = OnScreenObj.Picture
  ' Creates an OCR object
  Set OCRObj = OCR.CreateObject(Rect)
  ' Creates an OCROptions object that stores the default character recognition settings
  Set OCROptions = OCRObj.DefaultOptions

  ' Obtains the default settings and posts them to the test log
  Info = "Active recognition set: " & OCROptions.ActiveRecognitionSet & VbCrLf & _
         "Grayscale binarization: " & OCROptions.GrayScaleBinarization & VbCrLf & _
         "Binarization threshold: " & OCROptions.BinarizationThreshold & VbCrLf & _
         "Recognition autorejection: " & OCROptions.RecognitionRejectionAuto & VbCrLf & _
         "Recognition rejection threshold: " & OCROptions.RecognitionRejection & VbCrLf & _
         "Exact search is used: " & OCROptions.ExactSearch & VbCrLf & _
         "Search accuracy threshold: " & OCROptions.SearchAccuracy & VbCrLf & _
         "Skip fragmentation: " & OCROptions.SkipFragmentation
  Call Log.Message("Character Recognition Default Settings", Info)
  ' Obtains the collection of fonts used for character recognition
  ' And posts them to the test log
  Set Fonts = OCROptions.Fonts
  Count = Fonts.Count
  Log.AppendFolder "Fonts used for character recognition:"
  For i = 0 To Count - 1
    Log.Message Fonts.Item(i).Name
  Next
  Log.PopLogFolder

End Sub

DelphiScript

procedure OCROptionsSample();
var
  OnScreenObj, Rect, OCRObj, OCROptions, Fonts : OleVariant;
  Info : string;
  i, Count : integer;
begin
  …

  // Obtains an image of an on-screen object
  Rect := OnScreenObj.Picture;
  // Creates an OCR object
  OCRObj := OCR.CreateObject(Rect);
  // Creates an OCROptions object that stores the default character recognition settings
  OCROptions := OCRObj.DefaultOptions;

  // Obtains the default settings and posts them to the test log
  Info := 'Active recognition set: ' + aqConvert.IntToStr(OCROptions.ActiveRecognitionSet) + #13#10+
         'Grayscale binarization: ' + aqConvert.VarToStr(OCROptions.GrayScaleBinarization) + #13#10 +
         'Binarization threshold: ' + aqConvert.IntToStr(OCROptions.BinarizationThreshold) + #13#10 +
         'Recognition autorejection: ' + aqConvert.VarToStr(OCROptions.RecognitionRejectionAuto) + #13#10 +
         'Recognition rejection threshold: ' + aqConvert.FloatToStr(OCROptions.RecognitionRejection) + #13#10 +
         'Exact search is used: ' + aqConvert.VarToStr(OCROptions.ExactSearch) + #13#10 +
         'Search accuracy threshold: ' + aqConvert.FloatToStr(OCROptions.SearchAccuracy) + #13#10 +
         'Skip fragmentation: ' + aqConvert.VarToStr(OCROptions.SkipFragmentation);
  Log.Message('Character Recognition Default Settings', Info);
  // Obtains the collection of fonts used for character recognition
  // And posts them to the test log
  Fonts := OCROptions.Fonts;
  Count := Fonts.Count;
  Log.AppendFolder('Fonts used for character recognition:');
  for i := 0 to Count - 1 do
    Log.Message(Fonts.Item[i].Name);
  Log.PopLogFolder;

end;

C++Script, C#Script

function OCROptionsSample()
{
  var OnScreenObj, Rect, OCRObj, OCROptions, Info, Fonts, Count;
  …

  // Obtains an image of an on-screen object
  Rect = OnScreenObj["Picture"]();
  // Creates an OCR object
  OCRObj = OCR["CreateObject"](Rect);
  // Creates an OCROptions object that stores the default character recognition settings
  OCROptions = OCRObj["DefaultOptions"];

  // Obtains the default settings and posts them to the test log
  Info = "Active recognition set: " + OCROptions["ActiveRecognitionSet"] + "\r\n"+
         "Grayscale binarization: " + OCROptions["GrayScaleBinarization"] + "\r\n" +
         "Binarization threshold: " + OCROptions["BinarizationThreshold"] + "\r\n" +
         "Recognition autorejection: " + OCROptions["RecognitionRejectionAuto"] + "\r\n" +
         "Recognition rejection threshold: " + OCROptions["RecognitionRejection"] + "\r\n" +
         "Exact search is used: " + OCROptions["ExactSearch"] + "\r\n" +
         "Search accuracy threshold: " + OCROptions["SearchAccuracy"] + "\r\n" +
         "Skip fragmentation: " + OCROptions["SkipFragmentation"];
  Log.Message("Character Recognition Default Settings", Info);
  // Obtains the collection of fonts used for character recognition
  // And posts them to the test log
  Fonts = OCROptions["Fonts"];
  Count = Fonts["Count"];
  Log["AppendFolder"]("Fonts used for character recognition:");
  for (var i = 0; i < Count; i++)
    Log["Message"](Fonts["Item"](i)["Name"]);
  Log["PopLogFolder"]();

}

See Also

Optical Character Recognition
OCRObject Object
Using Optical Character Recognition - Tips

Highlight search results