do_ocr_single_class_cnnT_do_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn (算子)

名称

do_ocr_single_class_cnnT_do_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn — 使用基于 CNN 的 OCR 分类器对单个字符进行分类。

签名

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)

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

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)

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

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

描述

do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn 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 ClassClassClassClassclassValclass 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_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn, 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_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn must be used.

In most cases, do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn should be preferred over do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn, since do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn is typically faster than a loop with do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn. 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_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn has to be used if the nth-best class has to be examined explicitly for n greater than one.

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.

执行信息

参数

CharacterCharacterCharacterCharactercharactercharacter (输入对象)  region objectHRegionHObjectHRegionHobject

Character to be recognized.

ImageImageImageImageimageimage (输入对象)  singlechannelimage objectHImageHObjectHImageHobject (byte / uint2)

Gray values of the character.

OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle (输入控制)  ocr_cnn HOCRCnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the OCR classifier.

NumNumNumNumnumnum (输入控制)  integer-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of best classes to determine.

默认值: 1

建议值: 1, 2, 3, 4, 5

ClassClassClassClassclassValclass (输出控制)  string(-array) HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Result of classifying the character with the CNN.

ConfidenceConfidenceConfidenceConfidenceconfidenceconfidence (输出控制)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

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

示例(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

结果

如果参数有效,算子 do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnndo_ocr_single_class_cnn 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

read_ocr_class_cnnread_ocr_class_cnnReadOcrClassCnnReadOcrClassCnnReadOcrClassCnnread_ocr_class_cnn

替代

do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnndo_ocr_multi_class_cnn

模块

光学字符识别/光学字符验证