create_text_model_readerT_create_text_model_readerCreateTextModelReaderCreateTextModelReader (Operator)
Name
create_text_model_readerT_create_text_model_readerCreateTextModelReaderCreateTextModelReader
— Erzeugen eines Textmodells.
Signatur
void CreateTextModelReader(const HTuple& Mode, const HTuple& OCRClassifier, HTuple* TextModel)
void HTextModel::HTextModel(const HString& Mode, const HTuple& OCRClassifier)
void HTextModel::HTextModel(const HString& Mode, const HString& OCRClassifier)
void HTextModel::HTextModel(const char* Mode, const char* OCRClassifier)
void HTextModel::HTextModel(const wchar_t* Mode, const wchar_t* OCRClassifier)
(Nur Windows)
void HTextModel::CreateTextModelReader(const HString& Mode, const HTuple& OCRClassifier)
void HTextModel::CreateTextModelReader(const HString& Mode, const HString& OCRClassifier)
void HTextModel::CreateTextModelReader(const char* Mode, const char* OCRClassifier)
void HTextModel::CreateTextModelReader(const wchar_t* Mode, const wchar_t* OCRClassifier)
(Nur Windows)
Beschreibung
create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader
erzeugt das neue Textmodell
TextModelTextModelTextModelTextModeltextModel
, welches den Text beschreibt, der von find_textfind_textFindTextFindTextFindText
segmentiert werden soll.
ModeModeModeModemode
bestimmt welche Methode der Textsegmetierung gewählt werden
soll. Mögliche Werte für ModeModeModeModemode
sind 'auto'"auto""auto""auto""auto" und
'manual'"manual""manual""manual""manual".
Im Allgemeinen sollte ModeModeModeModemode
auf 'auto'"auto""auto""auto""auto" gesetzt werden,
da die automatische Textsegmentierung stabiler ist und weniger
Anpassungen notwendig sind. Hierbei ist zu beachten, dass ein
OCR Klassifikator OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier
übergeben werden muss.
ModeModeModeModemode
muss nur in den folgenden Fällen auf 'manual'"manual""manual""manual""manual" gesetzt
werden:
-
Der zu segmentierende Text enthält sehr viele lokale Änderungen der
Polarität aufgrund von Reflektionen. Dies ist häufig bei geprägtem Text der
Fall.
-
Es steht kein geeigneter OCR Klassifikator zur Verfügung
(siehe unten).
Für Textmodelle mit ModeModeModeModemode
= 'auto'"auto""auto""auto""auto", kann mit
find_textfind_textFindTextFindTextFindText
automatisch Text jeglicher Größe extrahiert und
klassifiziert werden. Es ist aber auch möglich, die Suche auf
Buchstaben mit bestimmten Eigenschaften einzuschränken, siehe
set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam
. Wenn der zu segmentierende Text
Punktdruck-Buchstaben enthält, muss der Textmodell-Parameter
'dot_print'"dot_print""dot_print""dot_print""dot_print" auf 'true'"true""true""true""true" gesetzt werden. Für Textmodelle mit
ModeModeModeModemode
= 'auto'"auto""auto""auto""auto" muss ein OCR Klassifikator
OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier
übergeben werden, der unter Verwendung eines
Convolutional Neural Networks (CNN) oder eines mehrschichtigen Perzeptrons
(MLP) erzeugt wurde. Es wird ausdrücklich empfohlen einen CNN-basierten OCR
Klassifikator mit Rückweisungsklasse oder einen regularisierten
MLP-basierter Klassifikator (siehe
set_regularization_params_ocr_class_mlpset_regularization_params_ocr_class_mlpSetRegularizationParamsOcrClassMlpSetRegularizationParamsOcrClassMlpSetRegularizationParamsOcrClassMlp
) zu verwenden, der unbekannte
Zeichen zurückweist (siehe set_rejection_params_ocr_class_mlpset_rejection_params_ocr_class_mlpSetRejectionParamsOcrClassMlpSetRejectionParamsOcrClassMlpSetRejectionParamsOcrClassMlp
).
Ein geeigneter OCR Klassifikator OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier
kann entweder mit
read_ocr_class_cnnread_ocr_class_cnnReadOcrClassCnnReadOcrClassCnnReadOcrClassCnn
oder read_ocr_class_mlpread_ocr_class_mlpReadOcrClassMlpReadOcrClassMlpReadOcrClassMlp
eingelesen, oder mit create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlpCreateOcrClassMlp
erstellt werden.
Außerdem ist es möglich in OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier
einen Pfad zu einem
vortrainierten OCR Klassifikator oder einem OCR Klassifikator,
der mit write_ocr_class_mlpwrite_ocr_class_mlpWriteOcrClassMlpWriteOcrClassMlpWriteOcrClassMlp
gespeichert wurde, zu übergeben.
Bei Textmodellen mit ModeModeModeModemode
= 'manual'"manual""manual""manual""manual" müssen für die
Textsegmentierung geeignete Parameter wie die Höhe und Breite von Buchstaben
mittels set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam
gesetzt werden. In diesem Fall wird der
Wert von OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier
ignoriert.
Parameter des Textmodells werden mit set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam
gesetzt
und mit get_text_model_paramget_text_model_paramGetTextModelParamGetTextModelParamGetTextModelParam
abgefragt.
Da beim Aufruf von create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader
und folgenden Operationen
für das Textmodell Speicher allokiert wird, sollte das Modell mit
clear_text_modelclear_text_modelClearTextModelClearTextModelClearTextModel
freigegeben werden, sobald es nicht mehr benötigt
wird.
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.
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
ModeModeModeModemode
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Modus des Textmodells.
Defaultwert:
'auto'
"auto"
"auto"
"auto"
"auto"
Werteliste: 'auto'"auto""auto""auto""auto", 'manual'"manual""manual""manual""manual"
OCRClassifierOCRClassifierOCRClassifierOCRClassifierOCRClassifier
(input_control) string →
HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
OCR Klassifikator.
Defaultwert:
'Universal_Rej.occ'
"Universal_Rej.occ"
"Universal_Rej.occ"
"Universal_Rej.occ"
"Universal_Rej.occ"
Wertevorschläge: 'Document_Rej.omc'"Document_Rej.omc""Document_Rej.omc""Document_Rej.omc""Document_Rej.omc", 'Document_0-9_Rej.omc'"Document_0-9_Rej.omc""Document_0-9_Rej.omc""Document_0-9_Rej.omc""Document_0-9_Rej.omc", 'Document_0-9A-Z_Rej.omc'"Document_0-9A-Z_Rej.omc""Document_0-9A-Z_Rej.omc""Document_0-9A-Z_Rej.omc""Document_0-9A-Z_Rej.omc", 'Document_A-Z+_Rej.omc'"Document_A-Z+_Rej.omc""Document_A-Z+_Rej.omc""Document_A-Z+_Rej.omc""Document_A-Z+_Rej.omc", 'DotPrint_Rej.omc'"DotPrint_Rej.omc""DotPrint_Rej.omc""DotPrint_Rej.omc""DotPrint_Rej.omc", 'DotPrint_0-9_Rej.omc'"DotPrint_0-9_Rej.omc""DotPrint_0-9_Rej.omc""DotPrint_0-9_Rej.omc""DotPrint_0-9_Rej.omc", 'DotPrint_0-9+_Rej.omc'"DotPrint_0-9+_Rej.omc""DotPrint_0-9+_Rej.omc""DotPrint_0-9+_Rej.omc""DotPrint_0-9+_Rej.omc", 'DotPrint_0-9A-Z_Rej.omc'"DotPrint_0-9A-Z_Rej.omc""DotPrint_0-9A-Z_Rej.omc""DotPrint_0-9A-Z_Rej.omc""DotPrint_0-9A-Z_Rej.omc", 'DotPrint_A-Z+_Rej.omc'"DotPrint_A-Z+_Rej.omc""DotPrint_A-Z+_Rej.omc""DotPrint_A-Z+_Rej.omc""DotPrint_A-Z+_Rej.omc", 'HandWritten_0-9_Rej.omc'"HandWritten_0-9_Rej.omc""HandWritten_0-9_Rej.omc""HandWritten_0-9_Rej.omc""HandWritten_0-9_Rej.omc", 'Industrial_Rej.omc'"Industrial_Rej.omc""Industrial_Rej.omc""Industrial_Rej.omc""Industrial_Rej.omc", 'Industrial_0-9_Rej.omc'"Industrial_0-9_Rej.omc""Industrial_0-9_Rej.omc""Industrial_0-9_Rej.omc""Industrial_0-9_Rej.omc", 'Industrial_0-9+_Rej.omc'"Industrial_0-9+_Rej.omc""Industrial_0-9+_Rej.omc""Industrial_0-9+_Rej.omc""Industrial_0-9+_Rej.omc", 'Industrial_0-9A-Z_Rej.omc'"Industrial_0-9A-Z_Rej.omc""Industrial_0-9A-Z_Rej.omc""Industrial_0-9A-Z_Rej.omc""Industrial_0-9A-Z_Rej.omc", 'Industrial_A-Z+_Rej.omc'"Industrial_A-Z+_Rej.omc""Industrial_A-Z+_Rej.omc""Industrial_A-Z+_Rej.omc""Industrial_A-Z+_Rej.omc", 'OCRA_Rej.omc'"OCRA_Rej.omc""OCRA_Rej.omc""OCRA_Rej.omc""OCRA_Rej.omc", 'OCRA_0-9_Rej.omc'"OCRA_0-9_Rej.omc""OCRA_0-9_Rej.omc""OCRA_0-9_Rej.omc""OCRA_0-9_Rej.omc", 'OCRA_0-9A-Z_Rej.omc'"OCRA_0-9A-Z_Rej.omc""OCRA_0-9A-Z_Rej.omc""OCRA_0-9A-Z_Rej.omc""OCRA_0-9A-Z_Rej.omc", 'OCRA_A-Z+_Rej.omc'"OCRA_A-Z+_Rej.omc""OCRA_A-Z+_Rej.omc""OCRA_A-Z+_Rej.omc""OCRA_A-Z+_Rej.omc", 'OCRB_Rej.omc'"OCRB_Rej.omc""OCRB_Rej.omc""OCRB_Rej.omc""OCRB_Rej.omc", 'OCRB_0-9_Rej.omc'"OCRB_0-9_Rej.omc""OCRB_0-9_Rej.omc""OCRB_0-9_Rej.omc""OCRB_0-9_Rej.omc", 'OCRB_0-9A-Z_Rej.omc'"OCRB_0-9A-Z_Rej.omc""OCRB_0-9A-Z_Rej.omc""OCRB_0-9A-Z_Rej.omc""OCRB_0-9A-Z_Rej.omc", 'OCRB_A-Z+_Rej.omc'"OCRB_A-Z+_Rej.omc""OCRB_A-Z+_Rej.omc""OCRB_A-Z+_Rej.omc""OCRB_A-Z+_Rej.omc", 'OCRB_passport_Rej.omc'"OCRB_passport_Rej.omc""OCRB_passport_Rej.omc""OCRB_passport_Rej.omc""OCRB_passport_Rej.omc", 'Pharma_Rej.omc'"Pharma_Rej.omc""Pharma_Rej.omc""Pharma_Rej.omc""Pharma_Rej.omc", 'Pharma_0-9_Rej.omc'"Pharma_0-9_Rej.omc""Pharma_0-9_Rej.omc""Pharma_0-9_Rej.omc""Pharma_0-9_Rej.omc", 'Pharma_0-9+_Rej.omc'"Pharma_0-9+_Rej.omc""Pharma_0-9+_Rej.omc""Pharma_0-9+_Rej.omc""Pharma_0-9+_Rej.omc", 'Pharma_0-9A-Z_Rej.omc'"Pharma_0-9A-Z_Rej.omc""Pharma_0-9A-Z_Rej.omc""Pharma_0-9A-Z_Rej.omc""Pharma_0-9A-Z_Rej.omc", 'SEMI_Rej.omc'"SEMI_Rej.omc""SEMI_Rej.omc""SEMI_Rej.omc""SEMI_Rej.omc", 'Universal_Rej.occ'"Universal_Rej.occ""Universal_Rej.occ""Universal_Rej.occ""Universal_Rej.occ", 'Universal_0-9_Rej.occ'"Universal_0-9_Rej.occ""Universal_0-9_Rej.occ""Universal_0-9_Rej.occ""Universal_0-9_Rej.occ", 'Universal_0-9+_Rej.occ'"Universal_0-9+_Rej.occ""Universal_0-9+_Rej.occ""Universal_0-9+_Rej.occ""Universal_0-9+_Rej.occ", 'Universal_0-9A-Z_Rej.occ'"Universal_0-9A-Z_Rej.occ""Universal_0-9A-Z_Rej.occ""Universal_0-9A-Z_Rej.occ""Universal_0-9A-Z_Rej.occ", 'Universal_0-9A-Z+_Rej.occ'"Universal_0-9A-Z+_Rej.occ""Universal_0-9A-Z+_Rej.occ""Universal_0-9A-Z+_Rej.occ""Universal_0-9A-Z+_Rej.occ", 'Universal_A-Z+_Rej.occ'"Universal_A-Z+_Rej.occ""Universal_A-Z+_Rej.occ""Universal_A-Z+_Rej.occ""Universal_A-Z+_Rej.occ"
TextModelTextModelTextModelTextModeltextModel
(output_control) text_model →
HTextModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Neu erzeugtes Textmodell.
Beispiel (HDevelop)
read_image (Image, 'numbers_scale')
create_text_model_reader ('auto', 'Document_Rej.omc', TextModel)
* Optionally specify text properties
set_text_model_param (TextModel, 'min_char_height', 20)
find_text (Image, TextModel, TextResultID)
* Return character regions and corresponding classification results
get_text_object (Characters, TextResultID, 'all_lines')
get_text_result (TextResultID, 'class', Class)
Ergebnis
create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader
gibt 2 (H_MSG_TRUE) zurück.
Nachfolger
set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam
,
get_text_model_paramget_text_model_paramGetTextModelParamGetTextModelParamGetTextModelParam
,
find_textfind_textFindTextFindTextFindText
Siehe auch
clear_text_modelclear_text_modelClearTextModelClearTextModelClearTextModel
Modul
OCR/OCV