Skip to content

traind_ocr_class_boxTraindOcrClassBoxTraindOcrClassBoxtraind_ocr_class_boxT_traind_ocr_class_box🔗

Short description🔗

traind_ocr_class_boxTraindOcrClassBoxTraindOcrClassBoxtraind_ocr_class_boxT_traind_ocr_class_box — Train an OCR classifier by the input of regions.

Warning🔗

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

Signature🔗

traind_ocr_class_box( region Character, image Image, ocr_box OcrHandle, string Class, out real AvgConfidence )void TraindOcrClassBox( const HObject& Character, const HObject& Image, const HTuple& OcrHandle, const HTuple& Class, HTuple* AvgConfidence )static void HOperatorSet.TraindOcrClassBox( HObject character, HObject image, HTuple ocrHandle, HTuple classVal, out HTuple avgConfidence )def traind_ocr_class_box( character: HObject, image: HObject, ocr_handle: HHandle, class_val: MaybeSequence[str] ) -> float

Herror T_traind_ocr_class_box( const Hobject Character, const Hobject Image, const Htuple OcrHandle, const Htuple Class, Htuple* AvgConfidence )

double HRegion::TraindOcrClassBox( const HImage& Image, const HOCRBox& OcrHandle, const HTuple& Class ) const

double HRegion::TraindOcrClassBox( const HImage& Image, const HOCRBox& OcrHandle, const HString& Class ) const

double HRegion::TraindOcrClassBox( const HImage& Image, const HOCRBox& OcrHandle, const char* Class ) const

double HRegion::TraindOcrClassBox( const HImage& Image, const HOCRBox& OcrHandle, const wchar_t* Class ) const (Windows only)

double HOCRBox::TraindOcrClassBox( const HRegion& Character, const HImage& Image, const HTuple& Class ) const

double HOCRBox::TraindOcrClassBox( const HRegion& Character, const HImage& Image, const HString& Class ) const

double HOCRBox::TraindOcrClassBox( const HRegion& Character, const HImage& Image, const char* Class ) const

double HOCRBox::TraindOcrClassBox( const HRegion& Character, const HImage& Image, const wchar_t* Class ) const (Windows only)

double HRegion.TraindOcrClassBox( HImage image, HOCRBox ocrHandle, HTuple classVal )

double HRegion.TraindOcrClassBox( HImage image, HOCRBox ocrHandle, string classVal )

double HOCRBox.TraindOcrClassBox( HRegion character, HImage image, HTuple classVal )

double HOCRBox.TraindOcrClassBox( HRegion character, HImage image, string classVal )

Description🔗

The operator traind_ocr_class_boxTraindOcrClassBox trains the classifier directly via the input of regions in an image. Any number of regions of an image can be passed. For each character (region) in Charactercharactercharacter the corresponding name (class) ClassclassValclass must be specified. The gray values are passed in Imageimageimage. When the procedure has finished the parameter AvgConfidenceavgConfidenceavg_confidence provides information about the success of the training: It contains the average confidence of the trained characters measured by a re-classification. The confidence of mismatched characters is set to 0 (thus, the average confidence will be decreased significantly).

Execution information🔗

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🔗

Charactercharactercharacter (input_object) region(-array) → objectHObjectHRegionHObjectHobject

Characters to be trained.

Imageimageimage (input_object) singlechannelimage → object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject (byte / uint2)

Gray values for the characters.

OcrHandleocrHandleocr_handle (input_control, state is modified) ocr_box → (handle)HTuple (HHandle)HOCRBox, HTuple (IntPtr)HHandleHtuple (handle)

ID of the desired OCR-classifier.

ClassclassValclass (input_control) string(-array) → (string)HTuple (HString)HTuple (string)MaybeSequence[str]Htuple (char*)

Class (name) of the characters.

Default: 'a'"a"

AvgConfidenceavgConfidenceavg_confidence (output_control) real → (real)HTuple (double)HTuple (double)floatHtuple (double)

Average confidence during a re-classification of the trained characters.

Example🔗

(C)

char name[128]\;
Hlong orc_handle\;

read_ocr("testnet",&orc_handle)\;
read_image(&Image,"character.tiff")\;
binary_threshold(Image,&Dark, 'otsu', 'dark', &UsedThreshold)\;
connection(Dark,&Character)\;
count_obj(Character,&num)\;
open_window(0,0,-1,-1,0,"","",&WindowHandle)\;
set_color(WindowHandle,"red")\;
for (i=0\; i<num\; i++) {
  select_obj(Character,&SingleCharacter,i)\;
  disp_region(SingleCharacter,WindowHandle)\;
  printf("class of character %d ?\n",i)\;
  scanf("%s\n",name)\;
  traind_ocr_class_box(SingleCharacter,Image,OcrHandle,name,&AvgConfidence)\;
}

Result🔗

If the parameters are correct, the operator traind_ocr_class_boxTraindOcrClassBox returns the value 2 (H_MSG_TRUE). Otherwise an exception will be raised.

Combinations with other operators🔗

Combinations

Possible predecessors

create_ocr_class_boxCreateOcrClassBox, read_ocrReadOcr

Possible successors

write_ocrWriteOcr, do_ocr_multiDoOcrMulti, do_ocr_singleDoOcrSingle

Alternatives

trainf_ocr_class_boxTrainfOcrClassBox

Module🔗

OCR/OCV