KlassenKlassenKlassenKlassen | | | | Operatoren

do_ocr_singleT_do_ocr_singleDoOcrSingledo_ocr_singleDoOcrSingleDoOcrSingle (Operator)

Name

do_ocr_singleT_do_ocr_singleDoOcrSingledo_ocr_singleDoOcrSingleDoOcrSingle — Klassifizieren von einem Zeichen.

Warnung

do_ocr_singledo_ocr_singleDoOcrSingledo_ocr_singleDoOcrSingleDoOcrSingle ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Applikationen sollten stattdessen die auf MLP, SVM oder CNN-basierten Operatoren verwenden.

Signatur

do_ocr_single(Character, Image : : OcrHandle : Classes, Confidences)

Herror T_do_ocr_single(const Hobject Character, const Hobject Image, const Htuple OcrHandle, Htuple* Classes, Htuple* Confidences)

Herror do_ocr_single(Hobject Character, Hobject Image, const HTuple& OcrHandle, HTuple* Classes, HTuple* Confidences)

HTuple HRegion::DoOcrSingle(const HImage& Image, const HOCRBox& OcrHandle, HTuple* Confidences) const

HTuple HOCRBox::DoOcrSingle(const HRegion& Character, const HImage& Image, HTuple* Confidences) const

void DoOcrSingle(const HObject& Character, const HObject& Image, const HTuple& OcrHandle, HTuple* Classes, HTuple* Confidences)

HTuple HRegion::DoOcrSingle(const HImage& Image, const HOCRBox& OcrHandle, HTuple* Confidences) const

HTuple HOCRBox::DoOcrSingle(const HRegion& Character, const HImage& Image, HTuple* Confidences) const

void HOperatorSetX.DoOcrSingle(
[in] IHUntypedObjectX* Character, [in] IHUntypedObjectX* Image, [in] VARIANT OcrHandle, [out] VARIANT* Classes, [out] VARIANT* Confidences)

VARIANT HRegionX.DoOcrSingle(
[in] IHImageX* Image, [in] IHOCRBoxX* OcrHandle, [out] VARIANT* Confidences)

VARIANT HOCRBoxX.DoOcrSingle(
[in] IHRegionX* Character, [in] IHImageX* Image, [out] VARIANT* Confidences)

static void HOperatorSet.DoOcrSingle(HObject character, HObject image, HTuple ocrHandle, out HTuple classes, out HTuple confidences)

HTuple HRegion.DoOcrSingle(HImage image, HOCRBox ocrHandle, out HTuple confidences)

HTuple HOCRBox.DoOcrSingle(HRegion character, HImage image, out HTuple confidences)

Beschreibung

do_ocr_singledo_ocr_singleDoOcrSingledo_ocr_singleDoOcrSingleDoOcrSingle ordnet dem CharacterCharacterCharacterCharacterCharactercharacter (Buchstabe) Klassen zu. Dabei werden (bei Graustufenmerkmalen) alle Grauwerte aus den umschließenden Rechtecken der Regionen verwendet. Diese werden aus dem Parameter ImageImageImageImageImageimage entnommen. Für jeden Buchstaben werden die beiden Klassen mit den höchsten Konfidenzen in ClassesClassesClassesClassesClassesclasses zurückgegeben. Die zugehörigen Konfidenzen werden in ConfidencesConfidencesConfidencesConfidencesConfidencesconfidences übergeben. Der Konfidenzwert beschreibt die Ähnlichkeit zwischen dem übergebenen und dem zugeordneten Zeichen.

Parallelisierung

Parameter

CharacterCharacterCharacterCharacterCharactercharacter (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Zu erkennendes Zeichen.

ImageImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Grauwerte für Zeichen.

OcrHandleOcrHandleOcrHandleOcrHandleOcrHandleocrHandle (input_control)  ocr_box HOCRBox, HTupleHTupleHOCRBox, HTupleHOCRBoxX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

ID des OCR-Klassifikator.

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

Klassen (Name) der Zeichen.

Parameteranzahl: 2

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

Konfidenzwerte der Zeichen.

Parameteranzahl: 2

Beispiel (C)

HTuple  Classes,Confidences;
Hlong    orc_handle;
HTuple  OcrHandle;

read_ocr("testnet",&orc_handle);
create_tuple(&OcrHandle,1);
set_i(OcrHandle,orc_handle,0);
read_image(&Image,"character.tiff");
binary_threshold(Image,&Dark, 'otsu', 'dark', &UsedThreshold);
connection(Dark,&Character);
count_obj(Character,&num);
open_window(0,0,-1,-1,0,"","",&WindowHandle);
for (i=0; i<num; i++) {
  select_obj(Character,&SingleCharacter,i);
  T_do_ocr_single(SingleCharacter,Image,
                  OcrHandle,&Classes,&Confidences);
  printf("best   = %s (%g)\n",
         get_s(Classes,0),get_d(Confidences,0));
  printf("second = %s (%g)\n\n",
         get_s(Classes,1),get_d(Confidences,1));
}

Ergebnis

Sind die Eingabeparameter korrekt besetzt, dann liefert do_ocr_singledo_ocr_singleDoOcrSingledo_ocr_singleDoOcrSingleDoOcrSingle den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

traind_ocr_class_boxtraind_ocr_class_boxTraindOcrClassBoxtraind_ocr_class_boxTraindOcrClassBoxTraindOcrClassBox, trainf_ocr_class_boxtrainf_ocr_class_boxTrainfOcrClassBoxtrainf_ocr_class_boxTrainfOcrClassBoxTrainfOcrClassBox, read_ocrread_ocrReadOcrread_ocrReadOcrReadOcr, connectionconnectionConnectionconnectionConnectionConnection, sort_regionsort_regionSortRegionsort_regionSortRegionSortRegion

Alternativen

do_ocr_multido_ocr_multiDoOcrMultido_ocr_multiDoOcrMultiDoOcrMulti

Siehe auch

write_ocrwrite_ocrWriteOcrwrite_ocrWriteOcrWriteOcr

Modul

OCR/OCV


KlassenKlassenKlassenKlassen | | | | Operatoren