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
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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