ReParm

typedef struct ReParm_tag {
  long  general;
  long  prep; 
  short deskew_min;
  short filler1; 
  short noise_diameter_percent;
  short noise_diameter_pixel;
  short noise_width_percent;
  short noise_length_percent; 
  short noise_width_pixel;   
  short noise_length_pixel;
  short rem_back_gray_delta;
  short rem_back_gray_level;
  RelGridParm *gridparm; 
  long  gridparm_maxlen;
  long  typograph;
  long  filler2;
  short line_space, base_line;
  short char_space_min; 
  short char_space_max;
  long  code;  
  long  options; 
  long  labels_size; 
  #if defined(__STDC__)
      char  *labels;  
      char  *rejects;
  #else
    union {
      char  *labels;  
      short *labels2; 
    };
    union {
      char  *rejects; 
      short *rejects2;
    };
  #endif
  long  alc;
  long  font;
  short reject_limit;
  short filler3[3]; 
  long  pos; 
  INT_PTR hookparm;
} ReParm;
      

Elemente:

general
Dieser Parameter steuert die Arbeit von re?_do(). Wenn GENERAL_PREP_ONLY gesetzt ist, wird nur die Vorverarbeitung durchgeführt. Wenn GENERAL_LINESHADOW_ONLY gesetzt ist, bricht rec_do() auch nach der Vorverarbeitung ab, und rel_do() bricht nach der Vorklassifizierung von Hand- und Maschinendruck ab. Das flag GENERAL_HOOKENGINE_LOADED zeigt nach re?_init() an, b eine Hook-Engine gefunden und geladen wurde. Diese Hook-Engine kann mit GENERAL_HOOKENGINE_ON aktiviert werden.
GENERAL_... GENERAL_LINESHADOW_ONLY steuert die Arbeit von re?_do()
GENERAL_HOOKENGINE_LOADED signalisiert nach re?_init(),
ob eine Hook-Engine gefunden und geladen wurde.
GENERAL_HOOKENGINE_ON aktiviert eine Hook-Engine.
GENERAL_PREP_ONLY die KADMOS-Erkennung kann ausgeschaltet werden.
GENERAL_LINESHADOW_ONLY zu der Vorverarbeitung wird eine Klassifikation durchgeführt,
die KADMOS-Erkennung ist ausgeschaltet.
GENERAL_LINEPOSITION_ONLY es wird nur die notwendige Vorverarbeitung durchgeführt, keine Zeichenerkennung.
GENERAL_FEATURES_ONLY Bei einem nachfolgenden rep_do()-Aufruf wird dann
nach der Merkmalsbildung aufgehört.
GENERAL_HOOKENGINE_LOADED zeigt an ob eine weitere
Erkennungs-Engine geladen wurde.
GENERAL_HOOKENGINE_ON Eine zweite Erkennugs-Engine kann aktiviert werden
GENERAL_*CALL ist zum internen Gebrauch bestimmt
GENERAL_RECALL Maske für RECCALL bis GENERAL_RESPELLCALL
GENERAL_REPMULTITHREADING Threads-Verwaltung
GENERAL_MULTITHREADING Maske für die Multithreading-Parameter
prep
PREP_NOSPACEREMOVAL
Bei den Modulen REC, REL und REP gibt es die Möglichkeit, eine Schmutzentfernung zu aktivieren. Dabei werden anschliessend die Bilder der Einzelzeichen so ausgeschnitten, dass sie an den Rändern keine Weiss-Spalten oder -Zeilen haben. Mit PREP_NOSPACEREMOVAL kann diese Weiss-Rand- Entfernung ausgeschaltet werden.
PREP_NOSPOTREMOVAL Ausschalten der Fleckentfernung.
Bei der Zeilen-Erkennung wird unter anderem geprüft, ob einzelne Zeichen mit Flecken behaftet sind, die von ausserhalb in die Zeile ragen. Die Flecken werden normalerweise entfernt. Mit PREP_NOSPOTREMOVAL wird diese Fleckentfernung ausgeschaltet.
PREP_AUTO_NOISEREDUCTION Adaptiv gesteuerte Schmutzentfernung.
PREP_SCALING Ist dieser Wert bei prep gesetzt, und ist in den übergebenen Bildern eine Auflösung angegeben, so werden die Bilder vor der Erkennung auf eine Auflösung von 300 dpi transformiert. Zeilen- und Einzelzeichenbilder mit mehr als 128 Pixelzeilen werden in jedem Fall verkleinert. Die Wirkung wurde ab Version 4.0i für Bilder ohne Angabe einer Auflösung erweitert. Ist er gesetzt und die spezifizierte Auflösung xresolution==0 oder yresolution==0, so werden die übergebenen Bilder in rel_do() oder rec_do() wie folgt skaliert:
- Bei reinen Handschrift-Klassifikatoren auf eine Zeilenanzahl von 64 Pixel,
- bei Hand+Maschine-Klassifikatoren auf eine Zeilenanzahl von 48 Pixel,
- bei reinen Maschinenschrift-Klassifikatoren auf eine Zeilenanzahl von 32 Pixel.
PREP_RGBTOGRAY_COLORMIN Mit diesem Parameter werden Farbbilder in Graubilder konvertiert wobei die Farben aufgehellt werden.
vorher: Farbbild nachher: Graubild PREP_RGBTOGRAY_COLORMAX Mit diesem Parameter werden Farbbilder in Graubilder konvertiert wobei die Farben verstärkt werden.
vorher: Farbbild nachher: Schwarzbild
vorher: Farbbild nachher: SWBild PREP_RGBTOGRAY_COLORGRAY Mit diesem Parameter werden Farbbilder in Graubilder konvertiert wobei ein Mittelwert zwischen PREP_RGBTOGRAY_COLORMIN und PREP_RGBTOGRAY_COLORMAX verwendet wird. PREP_GRAYTOBIN_UNIFORM Ist dieser Parameterwert gesetzt, so wird die Schwellenbildung nicht adaptiv, sondern mit einer Schwelle für das ganze Bild durchgeführt. Für gleichmässig ausgeleuchtete Bilder wird das Setzen dieses Wertes empfohlen. PREP_GRAYTOBIN_* Diese Parameter erstellen aus einem Graubild ein Schwarz-Weiss-Bild. In fünf Stufen kann die Pixel-Schwärzung des Ergebnisses eingestellt werden.
Stufe 1PREP_GRAYTOBIN_VERY_THINSehr schwache Schwärzung.
Stufe 2PREP_GRAYTOBIN_THINSchwache Schwärzung.
Stufe 3PREP_GRAYTOBIN_MEDIUMMittlere Schwärzung.
Stufe 4PREP_GRAYTOBIN_THICKStarke Schwärzung.
Stufe 5PREP_GRAYTOBIN_VERY_THICKSehr starke Schwärzung.
Originalbild: grau original Binarisierung Stufe 1: grau 1   Binarisierung Stufe 2: grau 2 Binarisierung Stufe 3: grau 3   Binarisierung Stufe 4: grau 4 Binarisierung Stufe 5: grau 5 PREP_BINFILTER_* Mit diesen Parametern lassen sich Zeichen glätten, ausgefranste Zeichen werden verdickt oder ausgedünnt. Schmale Objekte wie z.B. Schmutzflecken lassen sich wegfiltern. Nadeldruck kann für die Erkennung aufbereitet werden. Es sind fünf verschiedene Stufen möglich:
Stufe 1PREP_BINFILTER_VERY_THINGlättung mit starker Ausdünnung
Stufe 2PREP_BINFILTER_THINGlättung mit Ausdünnung
Stufe 3PREP_BINFILTER_MEDIUMGlättung ohne Ausdünnung
Stufe 4PREP_BINFILTER_THICKGlättung mit Verdickung
Stufe 5PREP_BINFILTER_VERY_THICKGlättung mit starker Verdickung
Beispiel Nadeldruck Originalbild: Original Bild   Filter Stufe 1: Filter 1   Filter Stufe 2: Filter 2 Filter Stufe 3: Filter 3   Filter Stufe 4: Filter 4   Filter Stufe 5: Filter 5 Beispiel Hintergrundschmutz: Originalbild: Original Bild   Filter Stufe 1: Filter 1   Filter Stufe 2: Filter 2 Filter Stufe 3: Filter 3   Filter Stufe 4: Filter 4   Filter Stufe 5: Filter 5 Beispiel mit allen Binarisierungs- und Filter-Möglichkeiten: Originalbild: grau original
Bin →
↓ Filter
12345
Xgrau 1/0grau 2/0grau 3/0grau 4/0grau 5/0
1grau 1/1grau 2/1grau 3/1grau 4/1grau 5/1
2grau 1/2grau 2/2grau 3/2grau 4/2grau 5/2
3grau 1/3grau 2/3grau 3/3grau 4/3grau 5/3
4grau 1/4grau 2/4grau 3/4grau 4/4grau 5/4
5grau 1/5grau 2/5grau 3/5grau 4/5grau 5/5
PREP_INPLACE
Beim Setzen dieses Parameters wird das zur Erkennung bereitgestellte Bild mit dem gefilterten bzw. dem von Grau nach Schwarz-Weiss gewandelten Bild überschrieben. Somit wird der Zugriff auf das Resultat aus PREP_BINFILTER_* und PREP_GRAYTOBIN_* nach der Erkennung möglich.
PREP_SCALING
transformiert Bilder auf eine Auflösung von 300 dpi.
deskew_min
Schwellenwert, ab dem eine Aufrichtung erfolgt, Null bedeutet keine Aufrichtung (Voreinstellung).
filler1
8 Byte Alignment.
noise_diameter_percent, noise_diameter_pixel
Die Module REC, REL und REP bieten die Möglichkeit, Schmutz in Abhängigkeit von seinem Durchmesser zu klassifizieren und zu entfernen. Die Angabe kann sowohl relativ zur Strichdicke der zugrundeliegenden Zeichen als auch absolut in Bildpunkten erfolgen. Sofern das Modul REC von REL aufgerufen wird, erfolgt die Schmutzentfernung nur in REL, wird REL von REP aufgerufen, so erfolgt die Schmutzentfernung nur in REP.
noise_width_percent, noise_length_percent,
noise_width_pixel, noise_length_pixel
In den Modulen REC, REL und REP kann die Schmutzentfernung nicht nur über den Schmutz-Durchmesser gesteuert werden, sondern auch über Dicke und Länge des Schmutzes. Sofern diese Schmutzentfernung relativ zur Strichdicke der zugrundeliegenden Zeichen erfolgen soll, besetze man die Parameter noise_width_percent und noise_length_percent entsprechend. Für eine absolute Angabe in Bildpunkten verwende man noise_width_pixel und noise_length_pixel. Die Angaben unter .._percent und .._pixel wirken additiv, d.h. Schmutz wird dann detektiert und entfernt, wenn er wenigstens eine der gegebenen Spezifikationen erfüllt.
🚧 rem_back_gray_delta
Hintergrund aus einem Farbbild entfernen - maximaler Unterschied R-G-B als "graues" Pixel
🚧 rem_back_gray_level
Hintergrund aus einem Farbbild entfernen - Welches ist das hellste Pixel ohne Hintergrundgrau?
*gridparm
Feld von RelGridParm-Strukturen.
gridparm_maxlen
Dieser Parameter beschreibt die Grösse des in der Struktur ReParm vom aufrufenden Programm unter gridparm bereitgestellten Speichers zur Aufnahme der Beschreibung zu suchender Grid-Elemente (Linien, Boxen, Kämme) in Struktureinheiten RelGridParm.
typograph
Hier können den Modulen REL oder REP zusätzliche Informationen zum vorliegenden Schriftgut mitgegeben werden, um die Bearbeitung zu vereinfachen und zu beschleunigen, sofern diese bekannt sind. Zur vereinfachten Beschreibung wurden dafür in KADMOS.h Konstanten bereitgestellt, die beliebig durch logisches ODER "|" miteinander kombiniert dem Parameter typograph zugewiesen werden können, sofern dies sinnvoll ist.
Für REL und REP: TYPO_PROPORTIONAL Es kann Proportionalschrift vorausgesetzt werden. TYPO_EQUIDISTANT Es kann äquidistante Schrift vorausgesetzt werden. TYPO_NOLIGATURES Bei vielen Schriften, insbesondere jedoch bei Handschrift, sind benachbarte Zeichen ineinandergestellt. Man bezeichnet dies als 'Ligaturen'. Die Segmentierung dieser Ligaturen ist oft ein sehr schwer lösbares Problem und erfordert besondere Algorithmen. Insbesondere bei äquidistanten Maschinenschriften gibt es jedoch keine Ligaturen, die entsprechenden Algorithmen können abgeschaltet werden. Dazu setze man diesen Wert. TYPO_NOTOUCHINGCHARS Es kann vorausgesetzt werden, dass keine sich berührenden Zeichen vorliegen. TYPO_NOSEGALTERNATIV Zu den schwierigsten Aufgaben bei der Zeichenerkennung gehört die Segmentierung der Einzelzeichen. KADMOS versucht bei schlecht erkannten Zeichen eine erneute, veränderte Segmentierung. Will man dies ausschalten (etwa bei sehr guten Vorlagen äquidistanter Zeichenteilung) so setze man diesen Wert. TYPO_4_SEGALTERNATIV TYPO_8_SEGALTERNATIV Es können 4 bzw. 8 Segmentieralternativen zugelassen werden. TYPO_KEEPIMG Bei einer guten Segmentierung ist es nicht mehr möglich, die segmentierten Einzelzeichen durch ihr umschreibendes Rechteck zu charakterisieren. Falls man also direkt auf die segmentierten Einzelzeichen zugreifen will, muss dieser Parameterwert bei typograph gesetzt werden. Auf die Einzelzeichen kann dann unter result_image zugegriffen werden. TYPO_EXTENDED_SEGMENTATION Gibt insbesondere bei Maschinenschrift etwa 10% weniger Segmentierfehler, bei etwas längerer Rechenzeit.
filler2
8 Byte Alignment.
line_space, base_line
Diese Parameter sind optional. line_space ist nur dann zu besetzen, wenn innerhalb eines mehrzeiligen Textbereiches erkannt werden soll. Der Wert gibt den Zeilenabstand an. Er wird von REC benötigt, um etwa zwischen einem Komma auf der einen und einem Apostroph auf der nächsten Zeile unterscheiden zu können. Um zwischen U und u unterscheiden zu können, wird ausser der Form des Zeichens Information benötigt, wo das Zeichen in einer Zeile zu finden ist und welche Grösse es relativ zur Zeilenhöhe hat. Der Parameter base_line legt den Massstab fest - die Höhe eines Grossbuchstabens wie 'A', 'B' oder 'C'. Das Modul REP benutzt diesen Parameter - sofern er spezifiziert wurde - zur verbesserten Zeilentrennung.
char_space_min, char_space_max
Diese Parameter beschreiben den minimalen und maximalen Abstand zweier aufeinanderfolgender Zeichen des gegebenen fonts, also den Abstand vom Anfang eines Zeichens zum Anfang des nächsten, gemessen in Bildpunkten. Sofern diese Werte bekannt sind, kann damit die Sicherheit der Zeichentrennung verbessert werden, ansonsten besetze man sie mit 0.
code
Sofern die am Computer eingestellte Codepage von KADMOS unterstützt wird, wird sie voreingestellt. Diese Voreinstellung kann abgefragt (nach Aufruf von re?-init())gesetzt werden.
CODE_PAGE_...
#define CODE_PAGE_437                   437
#define CODE_PAGE_720                   720
#define CODE_PAGE_737                   737
#define CODE_PAGE_850                   850
#define CODE_PAGE_852                   852
#define CODE_PAGE_855                   855
#define CODE_PAGE_857                   857
#define CODE_PAGE_858                   858
#define CODE_PAGE_864                   864
#define CODE_PAGE_866                   866
#define CODE_PAGE_874                   874

#define CODE_PAGE_1250                 1250
#define CODE_PAGE_1251                 1251
#define CODE_PAGE_1252                 1252
#define CODE_PAGE_1253                 1253
#define CODE_PAGE_1254                 1254
#define CODE_PAGE_1255                 1255
#define CODE_PAGE_1256                 1256
#define CODE_PAGE_1257                 1257
#define CODE_PAGE_1258                 1258

#define CODE_ISO_8859_1              885901
#define CODE_ISO_8859_2              885902
#define CODE_ISO_8859_4              885904
#define CODE_ISO_8859_5              885905
#define CODE_ISO_8859_6              885906
#define CODE_ISO_8859_7              885907
#define CODE_ISO_8859_8              885908
#define CODE_ISO_8859_9              885909
#define CODE_ISO_8859_10             885910
#define CODE_ISO_8859_11             885911
#define CODE_ISO_8859_13             885913
#define CODE_ISO_8859_15             885915

#define CODE_ASCII                  1000000  /* Ersatz representation */
#define CODE_UTF_8                  2000008
#define CODE_UTF_16                 2000016
#define CODE_UTF_32                 2000032

/*** special classifier codes */
#define CODE_ASCII_7BIT             1000001
#define CODE_UTF_16_7BIT            2000017
            
options
OPTIONS_BASICLABELS Sollen bei der Erkennung die Basiskennungen zurückgeliefert werden anstelle der voreingestellten Gruppenkennungen oder will man die Erkennung in Basiskennungen spezifizieren, so setze man diesen Wert. OPTIONS_BASICLABELS_PARM Hier kann gewählt werden dass Basis- statt Gruppenkennungen in der Struktur ReParm verwendet werden sollen. OPTIONS_BASICLABELS_RESULT Hier kann gewählt werden dass Basis- statt Gruppenkennungen in der Struktur RelResult oder RepResult verwendet werden sollen. OPTIONS_EXCLUDE Sollen bei der Erkennung keine gut bewerteten Alternativen zurückgeliefert werden, also soll eine eindeutige Entscheidung oder eine Rückweisung erzwungen werden, so setze man diesen Wert. In der Praxis sollte man sich jedoch darüber im klaren sein, dass sich bestimmte Alternativen zuweilen nicht ausschliessen lassen - es sei an die 0-O-Problematik oder an ein isoliert geschriebenes x erinnert. In diesen Fällen werden dennoch die nicht auszuschliessenden Alternativen mit ggf. guter Bewertung zurückgeliefert. Die Besetzung von OPTIONS_EXCLUDE macht immer dann Sinn, wenn hohe Fehlersicherheit gefordert ist und dafür eine erhöhte Zahl von Rückweisungen in Kauf genommen wird. So würde etwa ein Zeichen 5, welches mit grosser Ähnlichkeit zu einer 6 geschrieben wurde, unter Umständen sowohl als 5 als auch als 6 mit nicht zu schlechtem Vertrauenswert erkannt. Bei Setzung von OPTIONS_EXCLUDE werden in solchen Fällen Rückweisungen erzeugt.
⚠️ Wichtig: Beim Setzen dieser Option werden ähnlich viele Alternativen zurückgeliefert wie ohne, beim Auftreten von Alternativen erhalten diese jedoch einen schlechten Vertrauenswert (rec_value). OPTIONS_STRICTSELECT Ist man sicher, dass im vorgelegtem Belegmaterial die abgeschalteten Kennungen (labels,alc) nie vorkommen, so ist es sinnvoll, diese Option zu setzen. Beispiel: B ist deaktiviert und wird zur Erkennung vorgelegt. Gesetztes OPTIONS_STRICTSELECT ergibt eine 8, nichtgesetztes OPTIONS_STRICTSELECT ergibt eine Rückweisung. Dies gilt für Basiskennungen und Gruppenkennungen. OPTIONS_FAST_GRID Aktivieren einer schnelleren Grid-Entfernung mit nur geringfügig schlechteren Resultaten. Es kann auch bei re_layout() gesetzt werden sowie bei re_page(). OPTIONS_FAST_REC Das Setzen dieser Option bewirkt eine schnellere Erkennung bei den Handschrift-Klassifikatoren. Die Erkennungsqualität ist geringfügig schlechter, indem manche Werte von rec_value ungerechtfertigterweise niedriger sind als ohne diese Option. Die Alternativen bleiben erhalten, etwas öfter als sonst wird Schmutz als ein sinnvolles Zeichen erkannt. OPTIONS_FAST Das setzen dieser Option bewirkt die Erkennung wie OPTIONS_FAST_GRID and OPTIONS_FAST_REC zusammen. OPTIONS_REL_REC_REPEAT Nach einem ersten Durchlauf von rel_do() oder rep_do() werden die erkannten Einzelzeichen erneut aus dem Farb- oder Graubild extrahiert und einzeln binarisiert und erkannt. Es resultiert eine deutlich verbesserte Erkennungsqualität. OPTIONS_REL_CLEAR Dieser Parameter ist zur Unterstützung des Lesens von Normschrift-Zeilen, etwa CMC7 oder E13b gedacht. Diese Zeilen enthalten oft Schmutz am Anfang oder Ende. Dieser Schmutz wird wie üblich zu erkennen versucht. Gegebenenfalls werden nun jedoch die als Schmutz erkannten Resultate aus RelGraph und RelResult entfernt.
labels_size
Allokationsgrösse von labels bzw. labels2.
REPARM_LABELS_SIZE_MAX Gibt die maximale Grösse von labels bzw. labels2 an.
labels, labels2;
Hier kann durch Angabe einzelner Zeichenklassen eine Auswahl aus dem im Klassifikator (Rec-Datei) verfügbaren Zeichensatz getroffen werden. Enthält die Rec-Datei etwa die Zeichen {0,1,2,3,4,5,6,7,8,9,+,-}, so kann durch Besetzung von labels mit "+ - " die Erkennung auf die Zeichen '+' und '-' beschränkt werden. Jede dem Klassifikator bekannte Zeichenklasse wird durch zwei oder mehr Bytes bzw. bei Unicode durch zwei oder mehr short charakterisiert. Ein Leerstring ist gleichbedeutend mit der Auswahl aller Zeichenklassen des jeweiligen Klassifikators, sofern der Parameter alc nicht besetzt ist. Die Parameter alc und labels wirken additiv, wenn sie beide spezifiziert wurden (siehe Beschreibung von alc). Welche Zeichenklassen einem Klassifikator (Rec-Datei) bekannt sind, kann durch einen Aufruf von rec_info(), rel_info() oder rep_info() ermittelt werden. Diese Funktionen liefern hier (unter labels) diese Zeichenklassen nach gleicher Konvention zurück. Ausserdem findet man die dem jeweiligen Klassifikator bekannten Zeichenklassen in der zu diesem Klassifikator gehörigen Alc-Datei. Eine solche Alc-Datei ist eine Text-Datei im Format der Windows INI-Dateien.
labels2 hat die gleiche Bedeutung und Position wie labels. Es beschreibt die Kennungen im Unicode, also mit dem Datentyp short anstelle von char.
rejects, rejects2
Wird verwendet um im Klassifikator enthaltene Rückweisungsklassen zu selektieren.
alc
Hier kann, wie bei labels bzw. labels2, eine Auswahl aus dem im Rec-Datei verfügbaren Zeichensatz getroffen werden. ALC steht für "Alphabet Code". Durch solche Einschränkungen kann man die Erkennungssicherheit verbessern und die Arbeitsgeschwindigkeit erhöhen. Der Parameter alc wird bei jedem Aufruf von re?_do() oder re?_info() ausgewertet, die ermittelten Kennungen werden ggf. dem Parameter labels bzw. labels2 zugeschlagen. Dann wird alc stets wieder auf den Wert 0 (=ALC_DEFAULT) zurückgesetzt. Der Wert 0 oder ALC_DEFAULT bedeutet keine Einschränkung.
Welche Zeichenklassen für einen bestimmten Klassifikator zu den jeweiligen ALC-Konstanten verfügbar sind und ausgewählt werden können, findet man auch im Klartext in der zu diesem Klassifikator gehörigen Alc-Datei. Die ALC-Konstanten können mit logischem ODER "|" verknüpft werden. _INC_PENWIN ist die Dekleration für PEN aus PEN-Windows.
Folgende ALC-Konstanten werden von KADMOS unterstützt:
ALC_DEFAULTVoller Zeichensatz des Klassifikators, sofern wlabels leer ist.
ALC_LCALPHAKleinbuchstaben
ALC_UCALPHAGrossbuchstaben
ALC_ALPHAKleinbuchstaben und Grossbuchstaben
ALC_NUMERICZiffern
ALC_ALPHANUMERICKleinbuchstaben, Grossbuchstaben und Ziffern
ALC_SPECIALSatz- und Sonderzeichen.
ALC_ACCENTAkzentbezeichnung
ALC_ALLAlle Zeichen
ALC_GESTURESZur Zeit nicht benutzt.
font
Dieser Parameter beinhaltet den gegebenen font.
FONT_...
FONT_HAND
FONT_MACHINE
FONT_HM (font_HAND|font_MACHINE)
FONT_LATIN
FONT_FRAKTUR
FONT_GREEK
FONT_CYRILLIC
FONT_ARABIC
FONT_FARSI
FONT_HEBREW
FONT_THAI
FONT_LANGUAGE(FONT_LATIN|FONT_FRAKTUR|FONT_GREEK|FONT_CYRILLIC 
  |FONT_ARABIC|FONT_FARSI|FONT_HEBREW|FONT_THAI)
FONT_OCRA
FONT_OCRB
FONT_F7B
FONT_SEMI
FONT_CMC7
FONT_E13B
FONT_LCD
FONT_BRAILLE
FONT_NORM (FONT_OCRA|FONT_OCRB|FONT_CMC7|FONT_E13B|FONT_F7B
           |FONT_SEMI|FONT_LCD|FONT_BRAILLE)
FONT_LN (FONT_LANGUAGE|FONT_NORM)
FONT_ALL            
          
reject_limit
Dieser Parameter bestimmt den Vertrauenswert (rec_value), ab dem intern Alternativen bereitgestellt und als Erkennungsergebnisse zurückgeliefert werden. Er hat wesentlichen Einfluss auf die Rechenzeit. Voreinstellung ist ein Wert von 150.
filler3
8 Byte Alignment.
pos
Das Modul REL verwendet zur Unterscheidung von Zeichen Informationen über die Lage des Zeichens in der Textzeile, so etwa zur Unterscheidung von U und u. Mit dem Parameter pos kann gesteuert werden, inwieweit diese Lage der Zeichen in der Zeile zur Bewertung des Erkennungsergebnisses herangezogen werden soll. POS_NOLINECONTEXT Sollen die Zeichen nur aus ihrer geometrischen Gestalt erkannt werden, ohne Berücksichtigung ihrer Lage in der Zeile, so setze man diesen Wert. POS_SOFTLINECONTEXT Wie oben beschrieben, verwendet REL zur Unterscheidung von Zeichen Informationen über die Lage des Zeichens in der Textzeile. Dazu wird für jede Alternative der Erkennung ein Wert für die Grösse der Abweichung von der Soll-Zeilenlage ermittelt. Dieser Wert wird zum Vertrauenswert rec_value[i] jeder Alternative addiert. Ist POS_SOFTLINECONTEXT gesetzt, so wird die berechnete Abweichung derart normiert, dass für das am besten positionierte Zeichen ein Abweichungswert Null entsteht. POS_HARDLINECONTEXT Soll die Lage der Zeichen in der Zeile besonders stark bewertet werden, so setze man diesen Wert. POS_NOWORDCONTEXT Sollen die Zeichen nur aus ihrer geometrischen Gestalt und ihrer Lage in der Zeile erkannt werden, jedoch ohne Berücksichtigung der anderen Zeichen eines Wortes (Zahlwort ...), so setze man diesen Wert.
hookparm
Hier kann eine eigene Funktion angegeben werden die der vorgeschriebenen Deklaration genügt. Die Module REP und REL rufen nach erfolgter Zeilen- und Zeichensegmentierung letztendlich stets die Funktion rec_do() des Moduls REC mit einer zugehörigen Struktur RecData auf. Ist bei rec_hook eine Funktion eingetragen, so wird diese unmittelbar nach jedem dieser rec_do()-Aufrufe mit der zugehörigen RecData-Struktur ausgeführt. Man hat dadurch eine ganze Reihe von Möglichkeiten zur Verfolgung und sogar Steuerung der Einzelzeichen-Erkennung, zur Sammlung der segmentierten Rasterbilder oder auch zum Abbruch der Erkennung. Es wird nämlich der Rückgabewert der Funktion rec_hook derart ausgewertet, dass bei einem Wert verschieden von RE_SUCCESS das Modul rel_do() seine Arbeit beendet und ebenfalls mit diesem Rückgabewert zurückkehrt. Dadurch wird auch gegebenenfalls das Modul rep_do() seine Arbeit beenden und mit diesem Wert zurückkehren. Will man eine derartige hook-Funktion mit eigenen Parametern versorgen, so ist hierfür der Pointer hookparm in der Struktur ReParm vorgesehen. Hinterlegt man etwa vor einem Aufruf von rel_do() bei hookparm eine Adresse (z.B. auf private Daten), so wird diese Adresse von rel_do() vor jedem Aufruf von rec_do() in die zugehörige Struktur RecData auf hookparm kopiert, wo sie von der hook-Funktion abgerufen werden kann.

Verweise: