create_text_model_readerT_create_text_model_readerCreateTextModelReaderCreateTextModelReader (Operator)

Name

create_text_model_readerT_create_text_model_readerCreateTextModelReaderCreateTextModelReader — Create a text model.

Signature

create_text_model_reader( : : Mode, OCRClassifier : TextModel)

Herror T_create_text_model_reader(const Htuple Mode, const Htuple OCRClassifier, Htuple* TextModel)

void CreateTextModelReader(const HTuple& Mode, const HTuple& OCRClassifier, HTuple* TextModel)

void HTextModel::HTextModel(const HString& Mode, const HTuple& OCRClassifier)

void HTextModel::HTextModel(const HString& Mode, const HString& OCRClassifier)

void HTextModel::HTextModel(const char* Mode, const char* OCRClassifier)

void HTextModel::HTextModel(const wchar_t* Mode, const wchar_t* OCRClassifier)   (Windows only)

void HTextModel::CreateTextModelReader(const HString& Mode, const HTuple& OCRClassifier)

void HTextModel::CreateTextModelReader(const HString& Mode, const HString& OCRClassifier)

void HTextModel::CreateTextModelReader(const char* Mode, const char* OCRClassifier)

void HTextModel::CreateTextModelReader(const wchar_t* Mode, const wchar_t* OCRClassifier)   (Windows only)

static void HOperatorSet.CreateTextModelReader(HTuple mode, HTuple OCRClassifier, out HTuple textModel)

public HTextModel(string mode, HTuple OCRClassifier)

public HTextModel(string mode, string OCRClassifier)

void HTextModel.CreateTextModelReader(string mode, HTuple OCRClassifier)

void HTextModel.CreateTextModelReader(string mode, string OCRClassifier)

Description

create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader creates a TextModelTextModelTextModelTextModeltextModel, which describes the text to be segmented with find_textfind_textFindTextFindTextFindText.

The parameter value of ModeModeModeModemode determines which text segmentation approach is used. Possible values are 'auto'"auto""auto""auto""auto" and 'manual'"manual""manual""manual""manual".

Typically, the parameter ModeModeModeModemode should be set to 'auto'"auto""auto""auto""auto" because this mode is more stable and requires less configuration effort. Note that in this case, also an OCR classifier must be passed in OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier. Only if one of the following restrictions apply, ModeModeModeModemode must be set to 'manual'"manual""manual""manual""manual":

If ModeModeModeModemode = 'auto'"auto""auto""auto""auto", find_textfind_textFindTextFindTextFindText is able to extract text of arbitrary size. It is possible to restrict the search to characters with specific attributes, see set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam for details. Particulary, if the text to be segmented contains dot printed characters, the text model parameter 'dot_print'"dot_print""dot_print""dot_print""dot_print" must be set to 'true'"true""true""true""true". Furthermore, an OCR classifier must be passed in OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier. This OCR classifier must be based on a convolutional neural network (CNN) or a multilayer perceptron (MLP). Moreover, it is strongly recommended to use a CNN based OCR classifier with rejection class or a MLP based classifiers that has been trained with regularization parameters (see set_regularization_params_ocr_class_mlpset_regularization_params_ocr_class_mlpSetRegularizationParamsOcrClassMlpSetRegularizationParamsOcrClassMlpSetRegularizationParamsOcrClassMlp and provides a rejection class (see set_rejection_params_ocr_class_mlpset_rejection_params_ocr_class_mlpSetRejectionParamsOcrClassMlpSetRejectionParamsOcrClassMlpSetRejectionParamsOcrClassMlp). A suitable OCR classifier can either be read with read_ocr_class_cnnread_ocr_class_cnnReadOcrClassCnnReadOcrClassCnnReadOcrClassCnn or read_ocr_class_mlpread_ocr_class_mlpReadOcrClassMlpReadOcrClassMlpReadOcrClassMlp, or be created with create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlpCreateOcrClassMlp. It is also possible to pass a string containing the path to a pretrained OCR classifier or an OCR classifier that has been stored with write_ocr_class_mlpwrite_ocr_class_mlpWriteOcrClassMlpWriteOcrClassMlpWriteOcrClassMlp.

To enable text segmentation when ModeModeModeModemode = 'manual'"manual""manual""manual""manual", reasonable parameters for the text model, including the expected character height and width, must be set using set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam. In this case, the value of OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier is ignored.

The parameters of the TextModelTextModelTextModelTextModeltextModel can be set and queried with set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam and get_text_model_paramget_text_model_paramGetTextModelParamGetTextModelParamGetTextModelParam.

Since memory is allocated for the text model during the call of create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader and during the following operations, the model should be freed explicitly by the operator clear_text_modelclear_text_modelClearTextModelClearTextModelClearTextModel as soon as it is no longer used.

Execution Information

This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.

Parameters

ModeModeModeModemode (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

The Mode of the text model.

Default value: 'auto' "auto" "auto" "auto" "auto"

List of values: 'auto'"auto""auto""auto""auto", 'manual'"manual""manual""manual""manual"

OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier (input_control)  string HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

OCR Classifier.

Default value: 'Universal_Rej.occ' "Universal_Rej.occ" "Universal_Rej.occ" "Universal_Rej.occ" "Universal_Rej.occ"

Suggested values: 'Document_Rej.omc'"Document_Rej.omc""Document_Rej.omc""Document_Rej.omc""Document_Rej.omc", 'Document_0-9_Rej.omc'"Document_0-9_Rej.omc""Document_0-9_Rej.omc""Document_0-9_Rej.omc""Document_0-9_Rej.omc", 'Document_0-9A-Z_Rej.omc'"Document_0-9A-Z_Rej.omc""Document_0-9A-Z_Rej.omc""Document_0-9A-Z_Rej.omc""Document_0-9A-Z_Rej.omc", 'Document_A-Z+_Rej.omc'"Document_A-Z+_Rej.omc""Document_A-Z+_Rej.omc""Document_A-Z+_Rej.omc""Document_A-Z+_Rej.omc", 'DotPrint_Rej.omc'"DotPrint_Rej.omc""DotPrint_Rej.omc""DotPrint_Rej.omc""DotPrint_Rej.omc", 'DotPrint_0-9_Rej.omc'"DotPrint_0-9_Rej.omc""DotPrint_0-9_Rej.omc""DotPrint_0-9_Rej.omc""DotPrint_0-9_Rej.omc", 'DotPrint_0-9+_Rej.omc'"DotPrint_0-9+_Rej.omc""DotPrint_0-9+_Rej.omc""DotPrint_0-9+_Rej.omc""DotPrint_0-9+_Rej.omc", 'DotPrint_0-9A-Z_Rej.omc'"DotPrint_0-9A-Z_Rej.omc""DotPrint_0-9A-Z_Rej.omc""DotPrint_0-9A-Z_Rej.omc""DotPrint_0-9A-Z_Rej.omc", 'DotPrint_A-Z+_Rej.omc'"DotPrint_A-Z+_Rej.omc""DotPrint_A-Z+_Rej.omc""DotPrint_A-Z+_Rej.omc""DotPrint_A-Z+_Rej.omc", 'HandWritten_0-9_Rej.omc'"HandWritten_0-9_Rej.omc""HandWritten_0-9_Rej.omc""HandWritten_0-9_Rej.omc""HandWritten_0-9_Rej.omc", 'Industrial_Rej.omc'"Industrial_Rej.omc""Industrial_Rej.omc""Industrial_Rej.omc""Industrial_Rej.omc", 'Industrial_0-9_Rej.omc'"Industrial_0-9_Rej.omc""Industrial_0-9_Rej.omc""Industrial_0-9_Rej.omc""Industrial_0-9_Rej.omc", 'Industrial_0-9+_Rej.omc'"Industrial_0-9+_Rej.omc""Industrial_0-9+_Rej.omc""Industrial_0-9+_Rej.omc""Industrial_0-9+_Rej.omc", 'Industrial_0-9A-Z_Rej.omc'"Industrial_0-9A-Z_Rej.omc""Industrial_0-9A-Z_Rej.omc""Industrial_0-9A-Z_Rej.omc""Industrial_0-9A-Z_Rej.omc", 'Industrial_A-Z+_Rej.omc'"Industrial_A-Z+_Rej.omc""Industrial_A-Z+_Rej.omc""Industrial_A-Z+_Rej.omc""Industrial_A-Z+_Rej.omc", 'OCRA_Rej.omc'"OCRA_Rej.omc""OCRA_Rej.omc""OCRA_Rej.omc""OCRA_Rej.omc", 'OCRA_0-9_Rej.omc'"OCRA_0-9_Rej.omc""OCRA_0-9_Rej.omc""OCRA_0-9_Rej.omc""OCRA_0-9_Rej.omc", 'OCRA_0-9A-Z_Rej.omc'"OCRA_0-9A-Z_Rej.omc""OCRA_0-9A-Z_Rej.omc""OCRA_0-9A-Z_Rej.omc""OCRA_0-9A-Z_Rej.omc", 'OCRA_A-Z+_Rej.omc'"OCRA_A-Z+_Rej.omc""OCRA_A-Z+_Rej.omc""OCRA_A-Z+_Rej.omc""OCRA_A-Z+_Rej.omc", 'OCRB_Rej.omc'"OCRB_Rej.omc""OCRB_Rej.omc""OCRB_Rej.omc""OCRB_Rej.omc", 'OCRB_0-9_Rej.omc'"OCRB_0-9_Rej.omc""OCRB_0-9_Rej.omc""OCRB_0-9_Rej.omc""OCRB_0-9_Rej.omc", 'OCRB_0-9A-Z_Rej.omc'"OCRB_0-9A-Z_Rej.omc""OCRB_0-9A-Z_Rej.omc""OCRB_0-9A-Z_Rej.omc""OCRB_0-9A-Z_Rej.omc", 'OCRB_A-Z+_Rej.omc'"OCRB_A-Z+_Rej.omc""OCRB_A-Z+_Rej.omc""OCRB_A-Z+_Rej.omc""OCRB_A-Z+_Rej.omc", 'OCRB_passport_Rej.omc'"OCRB_passport_Rej.omc""OCRB_passport_Rej.omc""OCRB_passport_Rej.omc""OCRB_passport_Rej.omc", 'Pharma_Rej.omc'"Pharma_Rej.omc""Pharma_Rej.omc""Pharma_Rej.omc""Pharma_Rej.omc", 'Pharma_0-9_Rej.omc'"Pharma_0-9_Rej.omc""Pharma_0-9_Rej.omc""Pharma_0-9_Rej.omc""Pharma_0-9_Rej.omc", 'Pharma_0-9+_Rej.omc'"Pharma_0-9+_Rej.omc""Pharma_0-9+_Rej.omc""Pharma_0-9+_Rej.omc""Pharma_0-9+_Rej.omc", 'Pharma_0-9A-Z_Rej.omc'"Pharma_0-9A-Z_Rej.omc""Pharma_0-9A-Z_Rej.omc""Pharma_0-9A-Z_Rej.omc""Pharma_0-9A-Z_Rej.omc", 'SEMI_Rej.omc'"SEMI_Rej.omc""SEMI_Rej.omc""SEMI_Rej.omc""SEMI_Rej.omc", 'Universal_Rej.occ'"Universal_Rej.occ""Universal_Rej.occ""Universal_Rej.occ""Universal_Rej.occ", 'Universal_0-9_Rej.occ'"Universal_0-9_Rej.occ""Universal_0-9_Rej.occ""Universal_0-9_Rej.occ""Universal_0-9_Rej.occ", 'Universal_0-9+_Rej.occ'"Universal_0-9+_Rej.occ""Universal_0-9+_Rej.occ""Universal_0-9+_Rej.occ""Universal_0-9+_Rej.occ", 'Universal_0-9A-Z_Rej.occ'"Universal_0-9A-Z_Rej.occ""Universal_0-9A-Z_Rej.occ""Universal_0-9A-Z_Rej.occ""Universal_0-9A-Z_Rej.occ", 'Universal_0-9A-Z+_Rej.occ'"Universal_0-9A-Z+_Rej.occ""Universal_0-9A-Z+_Rej.occ""Universal_0-9A-Z+_Rej.occ""Universal_0-9A-Z+_Rej.occ", 'Universal_A-Z+_Rej.occ'"Universal_A-Z+_Rej.occ""Universal_A-Z+_Rej.occ""Universal_A-Z+_Rej.occ""Universal_A-Z+_Rej.occ"

TextModelTextModelTextModelTextModeltextModel (output_control)  text_model HTextModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

New text model.

Example (HDevelop)

read_image (Image, 'numbers_scale')
create_text_model_reader ('auto', 'Document_Rej.omc', TextModel)
* Optionally specify text properties
set_text_model_param (TextModel, 'min_char_height', 20)
find_text (Image, TextModel, TextResultID)
* Return character regions and corresponding classification results
get_text_object (Characters, TextResultID, 'all_lines')
get_text_result (TextResultID, 'class', Class)

Result

create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader returns the value 2 (H_MSG_TRUE).

Possible Successors

set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam, get_text_model_paramget_text_model_paramGetTextModelParamGetTextModelParamGetTextModelParam, find_textfind_textFindTextFindTextFindText

See also

clear_text_modelclear_text_modelClearTextModelClearTextModelClearTextModel

Module

OCR/OCV