do_ocr_multi_class_mlpT_do_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlp (Operator)
Name
do_ocr_multi_class_mlpT_do_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlp
— Classify multiple characters with an OCR classifier.
Signature
void DoOcrMultiClassMlp(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, HTuple* Class, HTuple* Confidence)
HTuple HRegion::DoOcrMultiClassMlp(const HImage& Image, const HOCRMlp& OCRHandle, HTuple* Confidence) const
HString HRegion::DoOcrMultiClassMlp(const HImage& Image, const HOCRMlp& OCRHandle, double* Confidence) const
HTuple HOCRMlp::DoOcrMultiClassMlp(const HRegion& Character, const HImage& Image, HTuple* Confidence) const
HString HOCRMlp::DoOcrMultiClassMlp(const HRegion& Character, const HImage& Image, double* Confidence) const
static void HOperatorSet.DoOcrMultiClassMlp(HObject character, HObject image, HTuple OCRHandle, out HTuple classVal, out HTuple confidence)
HTuple HRegion.DoOcrMultiClassMlp(HImage image, HOCRMlp OCRHandle, out HTuple confidence)
string HRegion.DoOcrMultiClassMlp(HImage image, HOCRMlp OCRHandle, out double confidence)
HTuple HOCRMlp.DoOcrMultiClassMlp(HRegion character, HImage image, out HTuple confidence)
string HOCRMlp.DoOcrMultiClassMlp(HRegion character, HImage image, out double confidence)
Description
do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlpDoOcrMultiClassMlp
computes the best class for each of
the characters given by the regions CharacterCharacterCharacterCharactercharacter
and the gray
values ImageImageImageImageimage
with the OCR classifier OCRHandleOCRHandleOCRHandleOCRHandleOCRHandle
and
returns the classes in ClassClassClassClassclassVal
and the corresponding
confidences (probabilities) of the classes in ConfidenceConfidenceConfidenceConfidenceconfidence
.
In contrast to do_ocr_single_class_mlpdo_ocr_single_class_mlpDoOcrSingleClassMlpDoOcrSingleClassMlpDoOcrSingleClassMlp
,
do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlpDoOcrMultiClassMlp
can classify multiple characters in
one call, and therefore typically is faster than a loop that uses
do_ocr_single_class_mlpdo_ocr_single_class_mlpDoOcrSingleClassMlpDoOcrSingleClassMlpDoOcrSingleClassMlp
to classify single characters.
However, do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlpDoOcrMultiClassMlp
can only return the best
class of each character. Because the confidences can be interpreted
as probabilities (see classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlp
and
evaluate_class_mlpevaluate_class_mlpEvaluateClassMlpEvaluateClassMlpEvaluateClassMlp
), and it is therefore easy to check
whether a character has been classified with too much uncertainty,
this is usually not a disadvantage, except in cases where the
classes overlap so much that in many cases the second best class
must be examined to be able to decide the class of the character.
In these cases, do_ocr_single_class_mlpdo_ocr_single_class_mlpDoOcrSingleClassMlpDoOcrSingleClassMlpDoOcrSingleClassMlp
should be used. The result
'\x1A'"\x1A""\x1A""\x1A""\x1A" in ClassClassClassClassclassVal
signifies that the respective
region has been classified as rejection class.
Before calling do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlpDoOcrMultiClassMlp
, the classifier must be
trained with trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlpTrainfOcrClassMlp
.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Parameters
CharacterCharacterCharacterCharactercharacter
(input_object) region(-array) →
objectHRegionHRegionHobject
Characters to be recognized.
ImageImageImageImageimage
(input_object) singlechannelimage →
objectHImageHImageHobject (byte / uint2)
Gray values of the characters.
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandle
(input_control) ocr_mlp →
HOCRMlp, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the OCR classifier.
ClassClassClassClassclassVal
(output_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Result of classifying the characters with the
MLP.
Number of elements: Class == Character
ConfidenceConfidenceConfidenceConfidenceconfidence
(output_control) real(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Confidence of the class of the characters.
Number of elements: Confidence == Character
Result
If the parameters are valid, the operator
do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlpDoOcrMultiClassMlp
returns the value 2 (H_MSG_TRUE). If
necessary, an exception is raised.
Possible Predecessors
trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlpTrainfOcrClassMlp
,
read_ocr_class_mlpread_ocr_class_mlpReadOcrClassMlpReadOcrClassMlpReadOcrClassMlp
Alternatives
do_ocr_word_mlpdo_ocr_word_mlpDoOcrWordMlpDoOcrWordMlpDoOcrWordMlp
,
do_ocr_single_class_mlpdo_ocr_single_class_mlpDoOcrSingleClassMlpDoOcrSingleClassMlpDoOcrSingleClassMlp
See also
create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlpCreateOcrClassMlp
,
classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlp
Module
OCR/OCV