trainf_ocr_class_svmT_trainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm (Operator)
Name
trainf_ocr_class_svmT_trainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm — Trainieren eines OCR-Klassifikators.
Signatur
void TrainfOcrClassSvm(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& Epsilon, const HTuple& TrainMode)
void HOCRSvm::TrainfOcrClassSvm(const HTuple& TrainingFile, double Epsilon, const HTuple& TrainMode) const
void HOCRSvm::TrainfOcrClassSvm(const HString& TrainingFile, double Epsilon, const HString& TrainMode) const
void HOCRSvm::TrainfOcrClassSvm(const char* TrainingFile, double Epsilon, const char* TrainMode) const
void HOCRSvm::TrainfOcrClassSvm(const wchar_t* TrainingFile, double Epsilon, const wchar_t* TrainMode) const
(Nur Windows)
Beschreibung
trainf_ocr_class_svmtrainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm trainiert den OCR-Klassifikator
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle mit den Trainingszeichen, die in den durch
TrainingFileTrainingFileTrainingFileTrainingFiletrainingFiletraining_file angegebenen OCR-Trainingsdateien enthalten
sind. Die Trainingsdateien müssen zuvor, z.B. mit
write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainfwrite_ocr_trainf, erzeugt worden sein. Die Parameter
EpsilonEpsilonEpsilonEpsilonepsilonepsilon und TrainModeTrainModeTrainModeTrainModetrainModetrain_mode haben dieselbe Bedeutung wie
bei train_class_svmtrain_class_svmTrainClassSvmTrainClassSvmTrainClassSvmtrain_class_svm und werden dort beschrieben. Es ist zu beachten,
dass Trainingszeichen, die keine entsprechende Klasse im Klassifikator
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle haben, verworfen werden.
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 modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
Parameter
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle (input_control, Zustand wird modifiziert) ocr_svm → HOCRSvm, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des OCR-Klassifikators.
TrainingFileTrainingFileTrainingFileTrainingFiletrainingFiletraining_file (input_control) filename.read(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Namen der Trainingsdateien.
Defaultwert:
'ocr.trf'
"ocr.trf"
"ocr.trf"
"ocr.trf"
"ocr.trf"
"ocr.trf"
Dateiendung: .trf, .otr
EpsilonEpsilonEpsilonEpsilonepsilonepsilon (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Abbruchparameter für das Training.
Defaultwert: 0.001
Wertevorschläge: 0.00001, 0.0001, 0.001, 0.01, 0.1
TrainModeTrainModeTrainModeTrainModetrainModetrain_mode (input_control) number → HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Modus des Trainings.
Defaultwert:
'default'
"default"
"default"
"default"
"default"
"default"
Werteliste: 'add_sv_to_train_set'"add_sv_to_train_set""add_sv_to_train_set""add_sv_to_train_set""add_sv_to_train_set""add_sv_to_train_set", 'default'"default""default""default""default""default"
Beispiel (HDevelop)
* Train an OCR classifier
read_ocr_trainf_names ('ocr.trf', CharacterNames, CharacterCount)
create_ocr_class_svm (8, 10, 'constant', 'default', CharacterNames, \
'rbf', 0.01, 0.01, 'one-versus-one', \
'normalization', 81, OCRHandle)
trainf_ocr_class_svm (OCRHandle, 'ocr.trf', 0.001, 'default')
write_ocr_class_svm (OCRHandle, 'ocr.osc')
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
trainf_ocr_class_svmtrainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm den Wert TRUE. Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Falls trainf_ocr_class_svmtrainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm den Fehler 9211 (Matrix ist nicht
positiv definit) bei Preprocessing =
'canonical_variates'"canonical_variates""canonical_variates""canonical_variates""canonical_variates""canonical_variates" zurückliefert, bedeutet dies
typischerweise, dass für die verschiedenen Klassen zu wenige
Trainingsmuster gespeichert worden sind.
Für diesen Fall ist es sinnvoll, Preprocessing auf
'normalization'"normalization""normalization""normalization""normalization""normalization" zu setzen. Ansonsten ist es auch möglich,
mehr Trainingsmuster hinzuzufügen.
Vorgänger
create_ocr_class_svmcreate_ocr_class_svmCreateOcrClassSvmCreateOcrClassSvmCreateOcrClassSvmcreate_ocr_class_svm,
write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainfwrite_ocr_trainf,
append_ocr_trainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainfAppendOcrTrainfappend_ocr_trainf,
write_ocr_trainf_imagewrite_ocr_trainf_imageWriteOcrTrainfImageWriteOcrTrainfImageWriteOcrTrainfImagewrite_ocr_trainf_image
Nachfolger
do_ocr_single_class_svmdo_ocr_single_class_svmDoOcrSingleClassSvmDoOcrSingleClassSvmDoOcrSingleClassSvmdo_ocr_single_class_svm,
do_ocr_multi_class_svmdo_ocr_multi_class_svmDoOcrMultiClassSvmDoOcrMultiClassSvmDoOcrMultiClassSvmdo_ocr_multi_class_svm,
write_ocr_class_svmwrite_ocr_class_svmWriteOcrClassSvmWriteOcrClassSvmWriteOcrClassSvmwrite_ocr_class_svm
Alternativen
read_ocr_class_svmread_ocr_class_svmReadOcrClassSvmReadOcrClassSvmReadOcrClassSvmread_ocr_class_svm
Siehe auch
train_class_svmtrain_class_svmTrainClassSvmTrainClassSvmTrainClassSvmtrain_class_svm
Modul
OCR/OCV