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

do_ocr_multi_class_cnn(Character, Image : : OCRHandle : Class, Confidence)

Herror T_do_ocr_multi_class_cnn(const Hobject Character, const Hobject Image, const Htuple OCRHandle, Htuple* Class, Htuple* Confidence)

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)

def do_ocr_multi_class_cnn(character: HObject, image: HObject, ocrhandle: HHandle) -> Tuple[Sequence[str], Sequence[float]]

def do_ocr_multi_class_cnn_s(character: HObject, image: HObject, ocrhandle: HHandle) -> Tuple[str, float]

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

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