ClassesClassesClassesClasses | | | | Operators

do_ocr_single_class_cnnT_do_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn (Operator)

Name

do_ocr_single_class_cnnT_do_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn — Classify a single character with an CNN-based OCR classifier.

Signature

do_ocr_single_class_cnn(Character, Image : : OCRHandle, Num : Class, Confidence)

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

Herror do_ocr_single_class_cnn(Hobject Character, Hobject Image, const HTuple& OCRHandle, const HTuple& Num, char* Class, double* Confidence)

Herror do_ocr_single_class_cnn(Hobject Character, Hobject Image, const HTuple& OCRHandle, const HTuple& Num, HTuple* Class, HTuple* Confidence)

HTuple HRegion::DoOcrSingleClassCnn(const HImage& Image, const HOCRCnn& OCRHandle, const HTuple& Num, HTuple* Confidence) const

HTuple HOCRCnn::DoOcrSingleClassCnn(const HRegion& Character, const HImage& Image, const HTuple& Num, HTuple* Confidence) const

void DoOcrSingleClassCnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Num, HTuple* Class, HTuple* Confidence)

HTuple HRegion::DoOcrSingleClassCnn(const HImage& Image, const HOCRCnn& OCRHandle, const HTuple& Num, HTuple* Confidence) const

HString HRegion::DoOcrSingleClassCnn(const HImage& Image, const HOCRCnn& OCRHandle, const HTuple& Num, double* Confidence) const

HTuple HOCRCnn::DoOcrSingleClassCnn(const HRegion& Character, const HImage& Image, const HTuple& Num, HTuple* Confidence) const

HString HOCRCnn::DoOcrSingleClassCnn(const HRegion& Character, const HImage& Image, const HTuple& Num, double* Confidence) const

void HOperatorSetX.DoOcrSingleClassCnn(
[in] IHUntypedObjectX* Character, [in] IHUntypedObjectX* Image, [in] VARIANT OCRHandle, [in] VARIANT Num, [out] VARIANT* Class, [out] VARIANT* Confidence)

VARIANT HRegionX.DoOcrSingleClassCnn(
[in] IHImageX* Image, [in] IHOCRCnnX* OCRHandle, [in] VARIANT Num, [out] VARIANT* Confidence)

VARIANT HOCRCnnX.DoOcrSingleClassCnn(
[in] IHRegionX* Character, [in] IHImageX* Image, [in] VARIANT Num, [out] VARIANT* Confidence)

static void HOperatorSet.DoOcrSingleClassCnn(HObject character, HObject image, HTuple OCRHandle, HTuple num, out HTuple classVal, out HTuple confidence)

HTuple HRegion.DoOcrSingleClassCnn(HImage image, HOCRCnn OCRHandle, HTuple num, out HTuple confidence)

string HRegion.DoOcrSingleClassCnn(HImage image, HOCRCnn OCRHandle, HTuple num, out double confidence)

HTuple HOCRCnn.DoOcrSingleClassCnn(HRegion character, HImage image, HTuple num, out HTuple confidence)

string HOCRCnn.DoOcrSingleClassCnn(HRegion character, HImage image, HTuple num, out double confidence)

Description

do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn computes the best classification for the character given by the region CharacterCharacterCharacterCharacterCharactercharacter and the gray values ImageImageImageImageImageimage with the OCR classifier OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleOCRHandle and returns the best NumNumNumNumNumnum classes in ClassClassClassClassClassclassVal and the corresponding confidences (probabilities) of the classes in ConfidenceConfidenceConfidenceConfidenceConfidenceconfidence. Because multiple classes may be returned by do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn, CharacterCharacterCharacterCharacterCharactercharacter may only contain a single region (a single character). If multiple characters should be classified in a single call, do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnn must be used.

In most cases, do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnn should be preferred over do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn, since do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnn is typically faster than a loop with do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn. Furthermore, the resulting confidences can be interpreted as probabilities. They indicate the uncertainty of a character's classification result. The operator do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn has to be used if the nth-best class has to be examined explicitly for n greater than one.

The result '\x1A'"\x1A""\x1A""\x1A""\x1A""\x1A" in ClassClassClassClassClassclassVal signifies that the region has been classified as rejection class.

Parallelization

Parameters

CharacterCharacterCharacterCharacterCharactercharacter (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Character to be recognized.

ImageImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Gray values of the character.

OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleOCRHandle (input_control)  ocr_cnn HOCRCnn, HTupleHTupleHOCRCnn, HTupleHOCRCnnX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the OCR classifier.

NumNumNumNumNumnum (input_control)  integer-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Number of best classes to determine.

Default value: 1

Suggested values: 1, 2, 3, 4, 5

ClassClassClassClassClassclassVal (output_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Result of classifying the character with the CNN.

ConfidenceConfidenceConfidenceConfidenceConfidenceconfidence (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Confidence(s) of the class(es) of the character.

Example (HDevelop)

read_image(Image, 'bottle2')
OffsetRow := 100
OffsetCol := 108
read_ocr_class_cnn('Universal_0-9_NoRej.occ', OCRHandle)
* Select each digit and use do_ocr_single_class_cnn to apply OCR
gen_rectangle1(ROI_Date, OffsetRow, OffsetCol, OffsetRow, OffsetCol)
for I := 1 to 6 by 1
  Offset := I % 2 * 10
  smallest_rectangle1(ROI_Date, Row1, Col1, Row2, Col2)
  gen_rectangle1(ROI_Date, OffsetRow, Offset + Col2, OffsetRow + 42, \
  Col2 + Offset + 31)
  do_ocr_single_class_cnn(ROI_Date, Image, OCRHandle, 1, Class, Confidence)
endfor

Result

If the parameters are valid, the operator do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

read_ocr_class_cnnread_ocr_class_cnnReadOcrClassCnnread_ocr_class_cnnReadOcrClassCnnReadOcrClassCnn

Alternatives

do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnn

Module

OCR/OCV


ClassesClassesClassesClasses | | | | Operators