Operator Reference

ocr_change_charT_ocr_change_charOcrChangeCharOcrChangeCharocr_change_char (Operator)

ocr_change_charT_ocr_change_charOcrChangeCharOcrChangeCharocr_change_char — Define a new conversion table for the characters.

Warning

ocr_change_charocr_change_charOcrChangeCharOcrChangeCharocr_change_char is obsolete and is only provided for reasons of backward compatibility. New applications should use the MLP, SVM or CNN based operators instead.

Signature

ocr_change_char( : : OcrHandle, Character : )

Herror T_ocr_change_char(const Htuple OcrHandle, const Htuple Character)

void OcrChangeChar(const HTuple& OcrHandle, const HTuple& Character)

void HOCRBox::OcrChangeChar(const HTuple& Character) const

static void HOperatorSet.OcrChangeChar(HTuple ocrHandle, HTuple character)

void HOCRBox.OcrChangeChar(HTuple character)

def ocr_change_char(ocr_handle: HHandle, character: Sequence[str]) -> None

Description

The operator ocr_change_charocr_change_charOcrChangeCharOcrChangeCharocr_change_char establishes a new look-up table for the characters. Hereby the number of strings of CharacterCharacterCharactercharactercharacter must be the same as of the classifier OcrHandleOcrHandleOcrHandleocrHandleocr_handle. In order to enlarge the font, the operator ocr_change_charocr_change_charOcrChangeCharOcrChangeCharocr_change_char may be used as follows: More characters than actually needed will be indicated when creating a network using (create_ocr_class_boxcreate_ocr_class_boxCreateOcrClassBoxCreateOcrClassBoxcreate_ocr_class_box). The last n characters will not be used so far. If more characters are needed at a later stage, these unused characters will be allocated and then trained with the help of the operator ocr_change_charocr_change_charOcrChangeCharOcrChangeCharocr_change_char.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

This operator modifies the state of the following input parameter:

During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.

Parameters

OcrHandleOcrHandleOcrHandleocrHandleocr_handle (input_control, state is modified)  ocr_box HOCRBox, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

ID of the OCR-network to be changed.

CharacterCharacterCharactercharactercharacter (input_control)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

New assign of characters.

Default: ['a','b','c'] ["a","b","c"] ["a","b","c"] ["a","b","c"] ["a","b","c"]

Example (C)

HTuple  Character1, Character2, OcrHandle;
create_tuple(&Character1,26);
set_s(Character1,"a",0);
set_s(Character1,"b",1);
/* set parameter values */
T_create_ocr_net(WidthPattern,HeightPattern,Interpolation,
                 Features,HiddenLayer,Init,Character1,&OcrHandle);
/* later... */
create_tuple(&Character2,26);
set_s(Character2,"alpha",0);
set_s(Character2,"beta",1);
T_ocr_change_char(OcrHandle,Character2);

Result

If the number of characters in CharacterCharacterCharactercharactercharacter is identical with the number of the characters of the network, the operator ocr_change_charocr_change_charOcrChangeCharOcrChangeCharocr_change_char returns the value 2 ( H_MSG_TRUE) . Otherwise an exception will be raised.

Possible Predecessors

read_ocrread_ocrReadOcrReadOcrread_ocr

Possible Successors

do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlpdo_ocr_multi_class_mlp, do_ocr_single_class_mlpdo_ocr_single_class_mlpDoOcrSingleClassMlpDoOcrSingleClassMlpdo_ocr_single_class_mlp

Module

OCR/OCV