create_ocr_class_boxT_create_ocr_class_boxCreateOcrClassBoxCreateOcrClassBox (Operator)

Name

create_ocr_class_boxT_create_ocr_class_boxCreateOcrClassBoxCreateOcrClassBox — Erzeugen eines neues OCR-Klassifikators.

Warnung

create_ocr_class_boxcreate_ocr_class_boxCreateOcrClassBoxCreateOcrClassBoxCreateOcrClassBox 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

create_ocr_class_box( : : WidthPattern, HeightPattern, Interpolation, Features, Character : OcrHandle)

Herror T_create_ocr_class_box(const Htuple WidthPattern, const Htuple HeightPattern, const Htuple Interpolation, const Htuple Features, const Htuple Character, Htuple* OcrHandle)

void CreateOcrClassBox(const HTuple& WidthPattern, const HTuple& HeightPattern, const HTuple& Interpolation, const HTuple& Features, const HTuple& Character, HTuple* OcrHandle)

void HOCRBox::HOCRBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const HTuple& Features, const HTuple& Character)

void HOCRBox::HOCRBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const HString& Features, const HTuple& Character)

void HOCRBox::HOCRBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const char* Features, const HTuple& Character)

void HOCRBox::HOCRBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const wchar_t* Features, const HTuple& Character)   (Nur Windows)

void HOCRBox::CreateOcrClassBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const HTuple& Features, const HTuple& Character)

void HOCRBox::CreateOcrClassBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const HString& Features, const HTuple& Character)

void HOCRBox::CreateOcrClassBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const char* Features, const HTuple& Character)

void HOCRBox::CreateOcrClassBox(Hlong WidthPattern, Hlong HeightPattern, Hlong Interpolation, const wchar_t* Features, const HTuple& Character)   (Nur Windows)

static void HOperatorSet.CreateOcrClassBox(HTuple widthPattern, HTuple heightPattern, HTuple interpolation, HTuple features, HTuple character, out HTuple ocrHandle)

public HOCRBox(int widthPattern, int heightPattern, int interpolation, HTuple features, HTuple character)

public HOCRBox(int widthPattern, int heightPattern, int interpolation, string features, HTuple character)

void HOCRBox.CreateOcrClassBox(int widthPattern, int heightPattern, int interpolation, HTuple features, HTuple character)

void HOCRBox.CreateOcrClassBox(int widthPattern, int heightPattern, int interpolation, string features, HTuple character)

Beschreibung

create_ocr_class_boxcreate_ocr_class_boxCreateOcrClassBoxCreateOcrClassBoxCreateOcrClassBox erzeugt einen neuen OCR-Klassifikator. Zur Beschreibung des Klassifikators siehe Operator learn_class_boxlearn_class_boxLearnClassBoxLearnClassBoxLearnClassBox. Dieser Klassifikator muss dann mit traind_ocr_class_boxtraind_ocr_class_boxTraindOcrClassBoxTraindOcrClassBoxTraindOcrClassBox oder trainf_ocr_class_boxtrainf_ocr_class_boxTrainfOcrClassBoxTrainfOcrClassBoxTrainfOcrClassBox trainiert werden.

Die Parameter WidthPatternWidthPatternWidthPatternWidthPatternwidthPattern und HeightPatternHeightPatternHeightPatternHeightPatternheightPattern geben die Größe der Eingabeschicht des Klassifikators an. Diese Größe wird bei den Merkmalen 'projection_horizontal'"projection_horizontal""projection_horizontal""projection_horizontal""projection_horizontal", 'projection_vertical'"projection_vertical""projection_vertical""projection_vertical""projection_vertical", 'pixel'"pixel""pixel""pixel""pixel", 'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar" und 'pixel_binary'"pixel_binary""pixel_binary""pixel_binary""pixel_binary" verwendet, um das zu erkennende Zeichen auf eine Standardgröße zu transformieren. Um so größer die Standardgröße ist, um so mehr Zeichen können (mit Grauwertmerkmalen) unterschieden werden. Dabei steigt aber auch die Zeit für das Training (und die Anzahl der Lernstichproben) und die Zeit für die Erkennung an. Der Parameter InterpolationInterpolationInterpolationInterpolationinterpolation gibt den Interpolationsmodus für die Anpassung der Zeichen im Bild auf die Größe im Klassifikator an. Dieser Parameter ist bei dem Operator affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage beschrieben. Der Wert 0 erzeugt dieselbe Interpolation wie 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor" in affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage, d.h. es erfolgt keine Interpolation. Für 1 erhält man dasselbe Verhalten wie 'constant'"constant""constant""constant""constant" in affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage, d.h. es erfolgt eine ungewichtete Interpolation zwischen den Grauwerten. Der Wert 2 erzeugt dieselbe Interpolation wie 'weighted'"weighted""weighted""weighted""weighted", d.h. es erfolgt eine gewichtete Interpolation zwischen den Grauwerten. Der Parameter InterpolationInterpolationInterpolationInterpolationinterpolation muss so gewählt werden, dass bei der Skalierung der Zeichen auf die Standardgröße keine Aliasing-Effekte auftreten. In der Praxis bedeutet dies, dass InterpolationInterpolationInterpolationInterpolationinterpolation = 1 gewählt werden sollte, außer die Zeichen werden stark verkleinert. In diesem Fall sollte InterpolationInterpolationInterpolationInterpolationinterpolation = 2 gewählt werden. InterpolationInterpolationInterpolationInterpolationinterpolation = 0 sollte nur gewählt werden, falls die Zeichen nicht skaliert werden.

Der Parameter CharacterCharacterCharacterCharactercharacter legt alle zu erkennenden Zeichen fest. Im Normalfall bestehen die übergebenen Strings aus einem Zeichen (z.B. Alphabet). Es können aber auch Strings mit beliebiger Länge gelernt werden. Die Anzahl unterscheidbarer Zeichen (Anzahl Strings in CharacterCharacterCharacterCharactercharacter) ist auf 2048 beschränkt.

Mit dem Parameter FeaturesFeaturesFeaturesFeaturesfeatures können neben den Grauwerten zusätzliche Merkmale zur Erkennung der Buchstaben ausgewählt werden.

Es stehen folgende Merkmale zur Verfügung

'default'"default""default""default""default"

'ratio'"ratio""ratio""ratio""ratio" und 'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar" werden ausgewählt.

'ratio'"ratio""ratio""ratio""ratio"

Seitenverhältnis des Zeichens.

'width'"width""width""width""width"

Breite des Zeichens (nicht skalierungsinvariant).

'height'"height""height""height""height"

Höhe des Zeichens(nicht skalierungsinvariant).

'zoom_factor'"zoom_factor""zoom_factor""zoom_factor""zoom_factor"

Größenunterschied zwischen aktuellem Zeichen und den Werten von WidthPatternWidthPatternWidthPatternWidthPatternwidthPattern und HeightPatternHeightPatternHeightPatternHeightPatternheightPattern (nicht skalierungsinvariant).

'foreground'"foreground""foreground""foreground""foreground"

Relativer Anteil der Vordergrund-Pixel.

'foreground_grid_9'"foreground_grid_9""foreground_grid_9""foreground_grid_9""foreground_grid_9"

Relative Anteil der Vordergrund-Pixel in einem 3x3 Raster innerhalb des umschließenden Rechtecks des Zeichens.

'foreground_grid_16'"foreground_grid_16""foreground_grid_16""foreground_grid_16""foreground_grid_16"

Relative Anteil der Vordergrund-Pixel in einem 4x4 Raster innerhalb des umschließenden Rechtecks des Zeichens.

'anisometry'"anisometry""anisometry""anisometry""anisometry"

Formmerkmal Anisometry.

'compactness'"compactness""compactness""compactness""compactness"

Formmerkmal Compactness.

'convexity'"convexity""convexity""convexity""convexity"

Formmerkmal Convexity.

'moments_region_2nd_invar'"moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar"

Normierte 2. geometrischen Momente der Region. Siehe auch moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvarMomentsRegion2ndInvar.

'moments_region_2nd_rel_invar'"moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar"

Normierte 2. relativen geometrischen Momente der Region. Siehe auch moments_region_2nd_rel_invarmoments_region_2nd_rel_invarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvar.

'moments_region_3rd_invar'"moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar"

Normierte 3. geometrischen Momente der Region. Siehe auch moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvar.

'moments_central'"moments_central""moments_central""moments_central""moments_central"

Normierte zentrale geometrischen Momente der Region. Siehe auch moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentral.

'phi'"phi""phi""phi""phi"

Sinus und Kosinus der Orientierung (Winkel) des Zeichens.

'num_connect'"num_connect""num_connect""num_connect""num_connect"

Anzahl der Zusammenhangskomponenten.

'num_holes'"num_holes""num_holes""num_holes""num_holes"

Anzahl der Hohlflächen.

'projection_horizontal'"projection_horizontal""projection_horizontal""projection_horizontal""projection_horizontal"

Horizontal Projektion der Grauwert.

'projection_horizontal_invar'"projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar"

Horizontal Projektion der Grauwerte die maximal skaliert sind.

'projection_vertical'"projection_vertical""projection_vertical""projection_vertical""projection_vertical"

Vertikale Projektion der Grauwert.

'projection_vertical_invar'"projection_vertical_invar""projection_vertical_invar""projection_vertical_invar""projection_vertical_invar"

Vertikale Projektion der Grauwerte die maximal skaliert sind.

'cooc'"cooc""cooc""cooc""cooc"

Werte der binären Cooccurrence Matrix.

'moments_gray_plane'"moments_gray_plane""moments_gray_plane""moments_gray_plane""moments_gray_plane"

Normierte Grauwertmomente und die Winkel der Grauwertebene.

'num_runs'"num_runs""num_runs""num_runs""num_runs"

Anzahl der Sehnen der Region normiert auf die Höhe.

'chord_histo'"chord_histo""chord_histo""chord_histo""chord_histo"

Häufigkeit der Sehnen pro Zeile (nicht skalierungsinvariant).

'pixel'"pixel""pixel""pixel""pixel"

Grauwert der Zeichens.

'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar"

Grauwerte der Zeichens mit automatischer maximaler Grauwertspreizung.

'pixel_binary'"pixel_binary""pixel_binary""pixel_binary""pixel_binary"

Region des Zeichens als Binärbild auf eine Größe von WidthPatternWidthPatternWidthPatternWidthPatternwidthPattern x HeightPatternHeightPatternHeightPatternHeightPatternheightPattern skaliert.

'gradient_8dir'"gradient_8dir""gradient_8dir""gradient_8dir""gradient_8dir"

Die Gradienten des Zeichens werden berechnet. Die Gradientenrichtungen werden in 8 Richtungen diskretisiert. Das Amplitudenbild wird entsprechend der diskretisierten Richtungen in 8 Kanäle aufgeteilt. In jedem der 8 Kanäle werden auf einem 5x5 Gitter Stichproben entnommen. Diese Stichproben bilden die Merkmale.

Ausführungsinformationen

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

WidthPatternWidthPatternWidthPatternWidthPatternwidthPattern (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des Eingabenetzes.

Defaultwert: 8

Wertevorschläge: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20

Typischer Wertebereich: 1 ≤ WidthPattern WidthPattern WidthPattern WidthPattern widthPattern ≤ 100

HeightPatternHeightPatternHeightPatternHeightPatternheightPattern (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des Eingabenetzes.

Defaultwert: 10

Wertevorschläge: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20

Typischer Wertebereich: 1 ≤ HeightPattern HeightPattern HeightPattern HeightPattern heightPattern ≤ 100

InterpolationInterpolationInterpolationInterpolationinterpolation (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Interpolationsmodus bei der Skalierung der Zeichen.

Defaultwert: 1

Werteliste: 0, 1, 2

FeaturesFeaturesFeaturesFeaturesfeatures (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Zusätzliche Merkmale.

Defaultwert: 'default' "default" "default" "default" "default"

Werteliste: 'anisometry'"anisometry""anisometry""anisometry""anisometry", 'chord_histo'"chord_histo""chord_histo""chord_histo""chord_histo", 'compactness'"compactness""compactness""compactness""compactness", 'convexity'"convexity""convexity""convexity""convexity", 'cooc'"cooc""cooc""cooc""cooc", 'default'"default""default""default""default", 'foreground'"foreground""foreground""foreground""foreground", 'foreground_grid_16'"foreground_grid_16""foreground_grid_16""foreground_grid_16""foreground_grid_16", 'foreground_grid_9'"foreground_grid_9""foreground_grid_9""foreground_grid_9""foreground_grid_9", 'gradient_8dir'"gradient_8dir""gradient_8dir""gradient_8dir""gradient_8dir", 'height'"height""height""height""height", 'moments_central'"moments_central""moments_central""moments_central""moments_central", 'moments_gray_plane'"moments_gray_plane""moments_gray_plane""moments_gray_plane""moments_gray_plane", 'moments_region_2nd_invar'"moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar", 'moments_region_2nd_rel_invar'"moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar", 'moments_region_3rd_invar'"moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar", 'num_connect'"num_connect""num_connect""num_connect""num_connect", 'num_holes'"num_holes""num_holes""num_holes""num_holes", 'num_runs'"num_runs""num_runs""num_runs""num_runs", 'phi'"phi""phi""phi""phi", 'pixel'"pixel""pixel""pixel""pixel", 'pixel_binary'"pixel_binary""pixel_binary""pixel_binary""pixel_binary", 'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar", 'projection_horizontal'"projection_horizontal""projection_horizontal""projection_horizontal""projection_horizontal", 'projection_horizontal_invar'"projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar", 'projection_vertical'"projection_vertical""projection_vertical""projection_vertical""projection_vertical", 'projection_vertical_invar'"projection_vertical_invar""projection_vertical_invar""projection_vertical_invar""projection_vertical_invar", 'ratio'"ratio""ratio""ratio""ratio", 'width'"width""width""width""width", 'zoom_factor'"zoom_factor""zoom_factor""zoom_factor""zoom_factor"

CharacterCharacterCharacterCharactercharacter (input_control)  string-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Alle Zeichen des Zeichensatzes.

Defaultwert: ['a','b','c'] ["a","b","c"] ["a","b","c"] ["a","b","c"] ["a","b","c"]

OcrHandleOcrHandleOcrHandleOcrHandleocrHandle (output_control)  ocr_box HOCRBox, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

ID des erzeugten OCR-Klassifikators.

Beispiel (C)

HTuple     WidthPattern,HeightPattern,Interpolation,
           Features,OcrHandle;
create_tuple(&WidthPattern,1);
set_i(WidthPattern,8,0);
create_tuple(&HeightPattern,1);
set_i(HeightPattern,10,0);
create_tuple(&Interpolation,1);
set_i(Interpolation,1,0);
create_tuple(&Features,1);
set_s(Features,"default",0);
create_tuple(&Character,26+26+10);
set_s(Character,"a",0);
set_s(Character,"b",1);
/* ... */
set_s(Character,"A",27);
set_s(Character,"B",28);
/* ... */
set_s(Character,"1",53);
set_s(Character,"2",54);
/* ... */
T_create_ocr_class_box(WidthPattern,HeightPattern,Interpolation,
                       Features,Character,&OcrHandle);

Ergebnis

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

Vorgänger

reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDb

Nachfolger

traind_ocr_class_boxtraind_ocr_class_boxTraindOcrClassBoxTraindOcrClassBoxTraindOcrClassBox, trainf_ocr_class_boxtrainf_ocr_class_boxTrainfOcrClassBoxTrainfOcrClassBoxTrainfOcrClassBox, info_ocr_class_boxinfo_ocr_class_boxInfoOcrClassBoxInfoOcrClassBoxInfoOcrClassBox, write_ocrwrite_ocrWriteOcrWriteOcrWriteOcr, ocr_change_charocr_change_charOcrChangeCharOcrChangeCharOcrChangeChar

Alternativen

create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlpCreateOcrClassMlp, create_ocr_class_svmcreate_ocr_class_svmCreateOcrClassSvmCreateOcrClassSvmCreateOcrClassSvm

Siehe auch

affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage, ocr_change_charocr_change_charOcrChangeCharOcrChangeCharOcrChangeChar, moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvarMomentsRegion2ndInvar, moments_region_2nd_rel_invarmoments_region_2nd_rel_invarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvar, moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvar, moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentral

Modul

OCR/OCV