do_ocr_single_class_cnnT_do_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn (Operator)

Name

do_ocr_single_class_cnnT_do_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnn — Klassifikation eines Zeichens mit einem CNN-basiertem OCR-Klassifikator.

Signatur

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)

Beschreibung

do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnn berechnet zu dem durch die Region CharacterCharacterCharacterCharactercharacter und die Grauwerte ImageImageImageImageimage gegebenen Zeichen mit dem durch OCRHandleOCRHandleOCRHandleOCRHandleOCRHandle gegebenen OCR-Klassifikator die NumNumNumNumnum besten Klassen und gibt die Klassen in ClassClassClassClassclassVal und die zugehörigen Konfidenzen (Wahrscheinlichkeiten) der Klassen in ConfidenceConfidenceConfidenceConfidenceconfidence zurück. Da potentiell mehrere Klassen zurückgeliefert werden können, darf CharacterCharacterCharacterCharactercharacter nur eine Region (ein Zeichen) enthalten. Falls mehrere Zeichen in einem Aufruf klassifiziert werden sollen, muss do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnn verwendet werden.

Da do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnn bei der Klassifikation mehrerer Zeichen typischerweise schneller ist als eine Schleife mit do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnn und da sich die Konfidenzen als Wahrscheinlichkeiten interpretieren lassen, und damit auch leicht überprüfbar ist, ob ein Zeichen zu unsicher klassifiziert worden ist, empfiehlt sich in den meisten Fällen die Verwendung von do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnn, außer die zweitbeste Klasse soll explizit untersucht werden.

Eine Zeichenkette des Zahlenwertes '\032'"\032""\032""\032""\032" (alternativ als '\0x1A'"\0x1A""\0x1A""\0x1A""\0x1A" dargestellt) im Resultat ClassClassClassClassclassVal bedeutet, dass die Region als Rückweisungsklasse klassifiziert wurde.

Ausführungsinformationen

Parameter

CharacterCharacterCharacterCharactercharacter (input_object)  region objectHRegionHRegionHobject

Zu erkennendes Zeichen.

ImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHobject (byte / uint2)

Grauwerte des Zeichens.

OCRHandleOCRHandleOCRHandleOCRHandleOCRHandle (input_control)  ocr_cnn HOCRCnn, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des OCR-Klassifikators.

NumNumNumNumnum (input_control)  integer-array HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der maximal zu bestimmenden besten Klassen.

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 4, 5

ClassClassClassClassclassVal (output_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Ergebnis der Klassifikation des Zeichens durch das CNN.

ConfidenceConfidenceConfidenceConfidenceconfidence (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Konfidenz(en) der Klasse(n).

Beispiel (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

Ergebnis

Sind die Parameterwerte korrekt, dann liefert do_ocr_single_class_cnndo_ocr_single_class_cnnDoOcrSingleClassCnnDoOcrSingleClassCnnDoOcrSingleClassCnn den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_ocr_class_cnnread_ocr_class_cnnReadOcrClassCnnReadOcrClassCnnReadOcrClassCnn

Alternativen

do_ocr_multi_class_cnndo_ocr_multi_class_cnnDoOcrMultiClassCnnDoOcrMultiClassCnnDoOcrMultiClassCnn

Modul

OCR/OCV