do_ocr_multi_class_cnnT_do_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn (Operator)
Name
do_ocr_multi_class_cnnT_do_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn
— Classify multiple characters with an CNN-based OCR classifier.
Signature
void DoOcrMultiClassCnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, HTuple* Class, HTuple* Confidence)
HTuple HRegion::DoOcrMultiClassCnn(const HImage& Image, const HOCRCnn& OCRHandle, HTuple* Confidence) const
HString HRegion::DoOcrMultiClassCnn(const HImage& Image, const HOCRCnn& OCRHandle, double* Confidence) const
HTuple HOCRCnn::DoOcrMultiClassCnn(const HRegion& Character, const HImage& Image, HTuple* Confidence) const
HString HOCRCnn::DoOcrMultiClassCnn(const HRegion& Character, const HImage& Image, double* Confidence) const
static void HOperatorSet.DoOcrMultiClassCnn(HObject character, HObject image, HTuple OCRHandle, out HTuple classVal, out HTuple confidence)
HTuple HRegion.DoOcrMultiClassCnn(HImage image, HOCRCnn OCRHandle, out HTuple confidence)
string HRegion.DoOcrMultiClassCnn(HImage image, HOCRCnn OCRHandle, out double confidence)
HTuple HOCRCnn.DoOcrMultiClassCnn(HRegion character, HImage image, out HTuple confidence)
string HOCRCnn.DoOcrMultiClassCnn(HRegion character, HImage image, out double confidence)
Description
do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn
computes the best class for each of
the characters given by the regions CharacterCharacterCharacterCharactercharactercharacter
and the gray
values ImageImageImageImageimageimage
with the OCR classifier OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle
and
returns the classes in ClassClassClassClassclassValclass
and the corresponding
confidences (probabilities) of the classes in ConfidenceConfidenceConfidenceConfidenceconfidenceconfidence
.
In contrast to do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn
,
do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn
can classify multiple characters in
one call, and therefore typically is faster than a loop that uses
do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn
to classify single characters.
However, do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn
can only return the best
class of each character. Because the confidences can be interpreted as
probabilities, it is easier 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_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn
should be used.
A string of the number
'\032'"\032""\032""\032""\032""\032" (alternatively
displayed as '\0x1A'"\0x1A""\0x1A""\0x1A""\0x1A""\0x1A") in
ClassClassClassClassclassValclass
signifies that the region has been classified as rejection
class.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on internal data level.
Parameters
CharacterCharacterCharacterCharactercharactercharacter
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Characters to be recognized.
ImageImageImageImageimageimage
(input_object) singlechannelimage →
objectHImageHObjectHImageHobject (byte / uint2)
Gray values of the characters.
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle
(input_control) ocr_cnn →
HOCRCnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the OCR classifier.
ClassClassClassClassclassValclass
(output_control) string(-array) →
HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Result of classifying the characters with the
CNN.
Number of elements:
Class == Character
ConfidenceConfidenceConfidenceConfidenceconfidenceconfidence
(output_control) real(-array) →
HTupleSequence[float]HTupleHtuple (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_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn
returns the value 2 (
H_MSG_TRUE)
. If
necessary, an exception is raised.
Possible Predecessors
read_ocr_class_cnnread_ocr_class_cnnReadOcrClassCnnReadOcrClassCnnReadOcrClassCnnread_ocr_class_cnn
Alternatives
do_ocr_word_cnndo_ocr_word_cnnDoOcrWordCnnDoOcrWordCnnDoOcrWordCnndo_ocr_word_cnn
,
do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn
Module
OCR/OCV