do_ocr_word_svm T_do_ocr_word_svm DoOcrWordSvm DoOcrWordSvm do_ocr_word_svm (Operator)
Name
do_ocr_word_svm T_do_ocr_word_svm DoOcrWordSvm DoOcrWordSvm do_ocr_word_svm — Klassifikation einer Zeichengruppe mit einem OCR-Klassifikator.
Signatur
void DoOcrWordSvm (const HObject& Character , const HObject& Image , const HTuple& OCRHandle , const HTuple& Expression , const HTuple& NumAlternatives , const HTuple& NumCorrections , HTuple* Class , HTuple* Word , HTuple* Score )
HTuple HRegion ::DoOcrWordSvm (const HImage& Image , const HOCRSvm& OCRHandle , const HString& Expression , Hlong NumAlternatives , Hlong NumCorrections , HString* Word , double* Score ) const
HTuple HRegion ::DoOcrWordSvm (const HImage& Image , const HOCRSvm& OCRHandle , const char* Expression , Hlong NumAlternatives , Hlong NumCorrections , HString* Word , double* Score ) const
HTuple HRegion ::DoOcrWordSvm (const HImage& Image , const HOCRSvm& OCRHandle , const wchar_t* Expression , Hlong NumAlternatives , Hlong NumCorrections , HString* Word , double* Score ) const
(Nur Windows)
HTuple HOCRSvm ::DoOcrWordSvm (const HRegion& Character , const HImage& Image , const HString& Expression , Hlong NumAlternatives , Hlong NumCorrections , HString* Word , double* Score ) const
HTuple HOCRSvm ::DoOcrWordSvm (const HRegion& Character , const HImage& Image , const char* Expression , Hlong NumAlternatives , Hlong NumCorrections , HString* Word , double* Score ) const
HTuple HOCRSvm ::DoOcrWordSvm (const HRegion& Character , const HImage& Image , const wchar_t* Expression , Hlong NumAlternatives , Hlong NumCorrections , HString* Word , double* Score ) const
(Nur Windows)
static void HOperatorSet .DoOcrWordSvm (HObject character , HObject image , HTuple OCRHandle , HTuple expression , HTuple numAlternatives , HTuple numCorrections , out HTuple classVal , out HTuple word , out HTuple score )
HTuple HRegion .DoOcrWordSvm (HImage image , HOCRSvm OCRHandle , string expression , int numAlternatives , int numCorrections , out string word , out double score )
HTuple HOCRSvm .DoOcrWordSvm (HRegion character , HImage image , string expression , int numAlternatives , int numCorrections , out string word , out double score )
def do_ocr_word_svm (character : HObject, image : HObject, ocrhandle : HHandle, expression : str, num_alternatives : int, num_corrections : int) -> Tuple[Sequence[str], str, float]
def do_ocr_word_svm_s (character : HObject, image : HObject, ocrhandle : HHandle, expression : str, num_alternatives : int, num_corrections : int) -> Tuple[str, str, float]
Beschreibung
do_ocr_word_svm do_ocr_word_svm DoOcrWordSvm DoOcrWordSvm DoOcrWordSvm do_ocr_word_svm verhält sich wie do_ocr_multi_class_svm do_ocr_multi_class_svm DoOcrMultiClassSvm DoOcrMultiClassSvm DoOcrMultiClassSvm do_ocr_multi_class_svm ,
indem es mit dem durch OCRHandle OCRHandle OCRHandle OCRHandle OCRHandle ocrhandle gegebenen OCR-Klassifikator zu
den durch die Regionen Character Character Character Character character character und die Grauwerte Image Image Image Image image image
gegebenen Zeichen die jeweils beste Klasse berechnet und diese in
Class Class Class Class classVal class zurückgibt.
Im Gegensatz zu do_ocr_multi_class_svm do_ocr_multi_class_svm DoOcrMultiClassSvm DoOcrMultiClassSvm DoOcrMultiClassSvm do_ocr_multi_class_svm behandelt
do_ocr_word_svm do_ocr_word_svm DoOcrWordSvm DoOcrWordSvm DoOcrWordSvm do_ocr_word_svm die Zeichengruppe als eine Einheit, die
durch Aneinanderhängen von Klassennamen für jedes einzelne Zeichen
ein Wort Word Word Word Word word word liefert. Dies ermöglicht die Einschränkung
der erlaubten Klassifikationsergebnisse auf Textebene durch Angabe
eines Ausdrucks Expression Expression Expression Expression expression expression , der das erwartete Wort beschreibt.
Ein Ausdruck kann das Wort auf ein festes Lexikon, welches
zuvor durch create_lexicon create_lexicon CreateLexicon CreateLexicon CreateLexicon create_lexicon oder import_lexicon import_lexicon ImportLexicon ImportLexicon ImportLexicon import_lexicon
erzeugt wurde, einschränken, indem der Name des Lexikons in
spitzen Klammern wie in '<meinlexikon>' "<meinlexikon>" "<meinlexikon>" "<meinlexikon>" "<meinlexikon>" "<meinlexikon>" angegeben wird.
Ist der Ausdruck nicht von dieser Form, so wird er als regulärer
Ausdruck mit derselben Syntax wie für tuple_regexp_match tuple_regexp_match TupleRegexpMatch TupleRegexpMatch TupleRegexpMatch tuple_regexp_match
interpretiert. Bei Verwendung von Quantifikatoren wie '*'
sollte man normalerweise mit einem Ausdruck der Form
'^...'$' "$" "$" "$" "$" "$" '
dafür sorgen, dass das gesamte Wort verwendet wird.
Im Gegensatz zu tuple_regexp_match tuple_regexp_match TupleRegexpMatch TupleRegexpMatch TupleRegexpMatch tuple_regexp_match erlaubt
do_ocr_word_svm do_ocr_word_svm DoOcrWordSvm DoOcrWordSvm DoOcrWordSvm do_ocr_word_svm keine Angabe von
zusätzlichen Optionen für Expression Expression Expression Expression expression expression in einem Tupel.
Falls das aus den jeweils besten Klassen abgeleitete Wort dem Ausdruck
nicht genügt, versucht do_ocr_word_svm do_ocr_word_svm DoOcrWordSvm DoOcrWordSvm DoOcrWordSvm do_ocr_word_svm eine Korrektur durch
Berücksichtigung der NumAlternatives NumAlternatives NumAlternatives NumAlternatives numAlternatives num_alternatives besten Klassen für
jedes Zeichen, so wie sie von do_ocr_single_class_svm do_ocr_single_class_svm DoOcrSingleClassSvm DoOcrSingleClassSvm DoOcrSingleClassSvm do_ocr_single_class_svm für
ein einzelnes Zeichen bestimmt werden. Hierzu werden alle möglichen
Korrekturen ausprobiert, bei denen die Klassifikation von höchstens
NumCorrections NumCorrections NumCorrections NumCorrections numCorrections num_corrections Zeichenregionen geändert wird.
Zu beachten ist hierbei, dass NumAlternatives NumAlternatives NumAlternatives NumAlternatives numAlternatives num_alternatives und
NumCorrections NumCorrections NumCorrections NumCorrections numCorrections num_corrections Auswirkungen auf die Komplexität des Algorithmus
haben und daher in manchen Fällen intern beschränkt werden müssen. Für
weitere Informationen siehe den Abschnitt 'Komplexität' weiter unten.
Falls der Ausdruck ein Lexikon beschreibt und die obige Prozedur
nicht zum Erfolg führte, so wird das ähnlichste Wort aus dem Lexikon
zurückgegeben, solange für die Korrektur weniger als NumCorrections NumCorrections NumCorrections NumCorrections numCorrections num_corrections
Editieroperationen benötigt werden (siehe suggest_lexicon suggest_lexicon SuggestLexicon SuggestLexicon SuggestLexicon suggest_lexicon ).
Das Ergebnis wird mit einem Score Score Score Score score score zwischen 0.0 (keine Korrektur
gefunden) und 1.0 (ursprüngliches Wort war schon korrekt) bewertet.
Verringert wird der Score Score Score Score score score durch das Anbringen einer Strafe
entsprechend der Anzahl korrigierter Zeichen und einer (kleineren)
Strafe für das Ignorieren besserer Klassen um um einen
Ausdruck Expression Expression Expression Expression expression expression zu erhalten:
wobei num_corr die Anzahl tatsächlich angebrachter Korrekturen und
num_alt die Anzahl ignorierter Alternativen ist.
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
Character Character Character Character character character (input_object) region(-array) → object HRegion HObject HRegion Hobject
Zu erkennende Zeichen.
Image Image Image Image image image (input_object) singlechannelimage → object HImage HObject HImage Hobject (byte / uint2)
Grauwerte der Zeichen.
OCRHandle OCRHandle OCRHandle OCRHandle OCRHandle ocrhandle (input_control) ocr_svm → HOCRSvm , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle des OCR-Klassifikators.
Expression Expression Expression Expression expression expression (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Ausdruck, der die erlaubte Wortstruktur beschreibt
NumAlternatives NumAlternatives NumAlternatives NumAlternatives numAlternatives num_alternatives (input_control) integer → HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Anzahl der Klassen pro Zeichen, die für die interne
Wortkorrektur berücksichtigt werden.
Defaultwert: 3
Wertevorschläge: 3, 4, 5
Typischer Wertebereich: 1
≤
NumAlternatives
NumAlternatives
NumAlternatives
NumAlternatives
numAlternatives
num_alternatives
NumCorrections NumCorrections NumCorrections NumCorrections numCorrections num_corrections (input_control) integer → HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Maximale Anzahl der korrigierten Zeichen.
Defaultwert: 2
Wertevorschläge: 1, 2, 3, 4, 5
Typischer Wertebereich: 0
≤
NumCorrections
NumCorrections
NumCorrections
NumCorrections
numCorrections
num_corrections
Class Class Class Class classVal class (output_control) string(-array) → HTuple Sequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Ergebnis der Klassifikation der Zeichen durch
die SVM.
Parameteranzahl: Class == Character
Word Word Word Word word word (output_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Text des Wortes nach Klassifikation und Korrektur.
Score Score Score Score score score (output_control) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Ähnlichkeitsmaß von korrigiertem Wort zum Original.
Komplexität
Die Komplexität des Prüfens aller möglichen Korrekturen hat die Größenordnung
,
wobei a die Anzahl der Alternativen, n die Anzahl
der Zeichenregionen und c die Anzahl der erlaubten Korrekturen ist.
Als Absicherung gegen quasi-unendliche Schleifen im Falle von großem n
wird der Wert von c intern beschränkt auf 5, 3, oder 1, falls
a*n >= 30, 60, bzw. 90.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
do_ocr_word_svm do_ocr_word_svm DoOcrWordSvm DoOcrWordSvm DoOcrWordSvm do_ocr_word_svm den Wert TRUE. Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Vorgänger
trainf_ocr_class_svm trainf_ocr_class_svm TrainfOcrClassSvm TrainfOcrClassSvm TrainfOcrClassSvm trainf_ocr_class_svm ,
read_ocr_class_svm read_ocr_class_svm ReadOcrClassSvm ReadOcrClassSvm ReadOcrClassSvm read_ocr_class_svm
Alternativen
do_ocr_multi_class_svm do_ocr_multi_class_svm DoOcrMultiClassSvm DoOcrMultiClassSvm DoOcrMultiClassSvm do_ocr_multi_class_svm
Siehe auch
create_ocr_class_svm create_ocr_class_svm CreateOcrClassSvm CreateOcrClassSvm CreateOcrClassSvm create_ocr_class_svm ,
classify_class_svm classify_class_svm ClassifyClassSvm ClassifyClassSvm ClassifyClassSvm classify_class_svm
Modul
OCR/OCV