do_ocr_word_knn T_do_ocr_word_knn DoOcrWordKnn DoOcrWordKnn do_ocr_word_knn (Operator)
Name
do_ocr_word_knn T_do_ocr_word_knn DoOcrWordKnn DoOcrWordKnn do_ocr_word_knn — Klassifikation einer Zeichengruppe mit einem OCR-Klassifikator.
Signatur
void DoOcrWordKnn (const HObject& Character , const HObject& Image , const HTuple& OCRHandle , const HTuple& Expression , const HTuple& NumAlternatives , const HTuple& NumCorrections , HTuple* Class , HTuple* Confidence , HTuple* Word , HTuple* Score )
HTuple HRegion ::DoOcrWordKnn (const HImage& Image , const HOCRKnn& OCRHandle , const HString& Expression , Hlong NumAlternatives , Hlong NumCorrections , HTuple* Confidence , HString* Word , double* Score ) const
HString HRegion ::DoOcrWordKnn (const HImage& Image , const HOCRKnn& OCRHandle , const HString& Expression , Hlong NumAlternatives , Hlong NumCorrections , double* Confidence , HString* Word , double* Score ) const
HString HRegion ::DoOcrWordKnn (const HImage& Image , const HOCRKnn& OCRHandle , const char* Expression , Hlong NumAlternatives , Hlong NumCorrections , double* Confidence , HString* Word , double* Score ) const
HString HRegion ::DoOcrWordKnn (const HImage& Image , const HOCRKnn& OCRHandle , const wchar_t* Expression , Hlong NumAlternatives , Hlong NumCorrections , double* Confidence , HString* Word , double* Score ) const
(Nur Windows)
HTuple HOCRKnn ::DoOcrWordKnn (const HRegion& Character , const HImage& Image , const HString& Expression , Hlong NumAlternatives , Hlong NumCorrections , HTuple* Confidence , HString* Word , double* Score ) const
HString HOCRKnn ::DoOcrWordKnn (const HRegion& Character , const HImage& Image , const HString& Expression , Hlong NumAlternatives , Hlong NumCorrections , double* Confidence , HString* Word , double* Score ) const
HString HOCRKnn ::DoOcrWordKnn (const HRegion& Character , const HImage& Image , const char* Expression , Hlong NumAlternatives , Hlong NumCorrections , double* Confidence , HString* Word , double* Score ) const
HString HOCRKnn ::DoOcrWordKnn (const HRegion& Character , const HImage& Image , const wchar_t* Expression , Hlong NumAlternatives , Hlong NumCorrections , double* Confidence , HString* Word , double* Score ) const
(Nur Windows)
static void HOperatorSet .DoOcrWordKnn (HObject character , HObject image , HTuple OCRHandle , HTuple expression , HTuple numAlternatives , HTuple numCorrections , out HTuple classVal , out HTuple confidence , out HTuple word , out HTuple score )
HTuple HRegion .DoOcrWordKnn (HImage image , HOCRKnn OCRHandle , string expression , int numAlternatives , int numCorrections , out HTuple confidence , out string word , out double score )
string HRegion .DoOcrWordKnn (HImage image , HOCRKnn OCRHandle , string expression , int numAlternatives , int numCorrections , out double confidence , out string word , out double score )
HTuple HOCRKnn .DoOcrWordKnn (HRegion character , HImage image , string expression , int numAlternatives , int numCorrections , out HTuple confidence , out string word , out double score )
string HOCRKnn .DoOcrWordKnn (HRegion character , HImage image , string expression , int numAlternatives , int numCorrections , out double confidence , out string word , out double score )
def do_ocr_word_knn (character : HObject, image : HObject, ocrhandle : HHandle, expression : str, num_alternatives : int, num_corrections : int) -> Tuple[Sequence[str], Sequence[float], str, float]
def do_ocr_word_knn_s (character : HObject, image : HObject, ocrhandle : HHandle, expression : str, num_alternatives : int, num_corrections : int) -> Tuple[str, float, str, float]
Beschreibung
do_ocr_word_knn do_ocr_word_knn DoOcrWordKnn DoOcrWordKnn DoOcrWordKnn do_ocr_word_knn verhält sich wie do_ocr_multi_class_knn do_ocr_multi_class_knn DoOcrMultiClassKnn DoOcrMultiClassKnn DoOcrMultiClassKnn do_ocr_multi_class_knn ,
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 die Klassen in
Class Class Class Class classVal class und die zugehörigen Konfidenzen
der Klassen in Confidence Confidence Confidence Confidence confidence confidence zurückgibt.
Die Konfidenzen liegen zwischen 0.0 und 1.0. Je höher der Wert, desto
sicherer ist die Klassifikation der einzelnen Zeichen.
Im Gegensatz zu do_ocr_multi_class_knn do_ocr_multi_class_knn DoOcrMultiClassKnn DoOcrMultiClassKnn DoOcrMultiClassKnn do_ocr_multi_class_knn behandelt
do_ocr_word_knn do_ocr_word_knn DoOcrWordKnn DoOcrWordKnn DoOcrWordKnn do_ocr_word_knn 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.
Hat der Ausdruck eine andere 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_knn do_ocr_word_knn DoOcrWordKnn DoOcrWordKnn DoOcrWordKnn do_ocr_word_knn 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_knn do_ocr_word_knn DoOcrWordKnn DoOcrWordKnn DoOcrWordKnn do_ocr_word_knn 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_knn do_ocr_single_class_knn DoOcrSingleClassKnn DoOcrSingleClassKnn DoOcrSingleClassKnn do_ocr_single_class_knn 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 von Klassen mit höherer Konfidenz 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.
Diese Bewertung ist rein kombinatorisch und
berücksichtigt nicht die ursprünglichen Konfidenzen
der besten Klassen.
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_knn → HOCRKnn , 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
≤
5
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
≤
5
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
das k-NN.
Parameteranzahl: Class == Character
Confidence Confidence Confidence Confidence confidence confidence (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Konfidenz der Klasse der Zeichen.
Parameteranzahl: Confidence == 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_knn do_ocr_word_knn DoOcrWordKnn DoOcrWordKnn DoOcrWordKnn do_ocr_word_knn den Wert TRUE. Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Vorgänger
trainf_ocr_class_knn trainf_ocr_class_knn TrainfOcrClassKnn TrainfOcrClassKnn TrainfOcrClassKnn trainf_ocr_class_knn ,
read_ocr_class_knn read_ocr_class_knn ReadOcrClassKnn ReadOcrClassKnn ReadOcrClassKnn read_ocr_class_knn
Alternativen
do_ocr_multi_class_knn do_ocr_multi_class_knn DoOcrMultiClassKnn DoOcrMultiClassKnn DoOcrMultiClassKnn do_ocr_multi_class_knn
Siehe auch
create_ocr_class_knn create_ocr_class_knn CreateOcrClassKnn CreateOcrClassKnn CreateOcrClassKnn create_ocr_class_knn ,
classify_class_knn classify_class_knn ClassifyClassKnn ClassifyClassKnn ClassifyClassKnn classify_class_knn
Modul
OCR/OCV