trainf_ocr_class_knnT_trainf_ocr_class_knnTrainfOcrClassKnnTrainfOcrClassKnntrainf_ocr_class_knn (算子)
名称
trainf_ocr_class_knnT_trainf_ocr_class_knnTrainfOcrClassKnnTrainfOcrClassKnntrainf_ocr_class_knn — 为 OCR 任务训练 k-NN 分类器。
签名
void TrainfOcrClassKnn(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& GenParamName, const HTuple& GenParamValue)
void HOCRKnn::TrainfOcrClassKnn(const HTuple& TrainingFile, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HOCRKnn::TrainfOcrClassKnn(const HString& TrainingFile, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HOCRKnn::TrainfOcrClassKnn(const char* TrainingFile, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HOCRKnn::TrainfOcrClassKnn(const wchar_t* TrainingFile, const HTuple& GenParamName, const HTuple& GenParamValue) const
(
Windows only)
描述
trainf_ocr_class_knntrainf_ocr_class_knnTrainfOcrClassKnnTrainfOcrClassKnnTrainfOcrClassKnntrainf_ocr_class_knn trains the k-NN classifier
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle with the training characters stored in the OCR
training files given by TrainingFileTrainingFileTrainingFileTrainingFiletrainingFiletraining_file. The training files
must have been created, e.g., using write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainfwrite_ocr_trainf, before
calling trainf_ocr_class_knntrainf_ocr_class_knnTrainfOcrClassKnnTrainfOcrClassKnnTrainfOcrClassKnntrainf_ocr_class_knn. Please, note that training characters
that have no corresponding class in the classifier OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle are
discarded.
It is possible to set the number of trees via
the parameters GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value by
'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees". The default value for the number of search trees
is 4. A higher number of trees improves the accuracy of
the search, but also increases the runtime.
Normalization can be activated by setting 'normalization'"normalization""normalization""normalization""normalization""normalization" in
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and 'true'"true""true""true""true""true" in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value.
This will change the stored training data permanently. Therefore,
adding data after the training is not possible.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子修改后续输入参数的状态:
在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。
参数
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle (输入控制,状态被修改) ocr_knn → HOCRKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
k-NN 分类器的句柄。
TrainingFileTrainingFileTrainingFileTrainingFiletrainingFiletraining_file (输入控制) filename.read(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Names of the training files.
默认值:
'ocr.trf'
"ocr.trf"
"ocr.trf"
"ocr.trf"
"ocr.trf"
"ocr.trf"
File extension:
.trf, .otr
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制) string-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Names of the generic parameters that can be adjusted
for the k-NN classifier creation.
默认值:
[]
值列表:
'normalization'"normalization""normalization""normalization""normalization""normalization", 'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (输入控制) number-array → HTupleSequence[Union[int, str, float]]HTupleHtuple (integer / string / real) (int / long / string / double) (Hlong / HString / double) (Hlong / char* / double)
Values of the generic parameters that can be adjusted
for the k-NN classifier creation.
默认值:
[]
建议值:
4, 5, 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
示例(HDevelop)
* Train an OCR classifier
read_ocr_trainf_names ('ocr.trf', CharacterNames, CharacterCount)
create_ocr_class_knn (8, 10, 'constant', 'default', CharacterNames, [],\
[], OCRHandle)
trainf_ocr_class_knn (OCRHandle, 'ocr.trf', [], [])
write_ocr_class_knn (OCRHandle, 'ocr.omc')
结果
如果参数有效,算子
trainf_ocr_class_knntrainf_ocr_class_knnTrainfOcrClassKnnTrainfOcrClassKnnTrainfOcrClassKnntrainf_ocr_class_knn 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
create_ocr_class_knncreate_ocr_class_knnCreateOcrClassKnnCreateOcrClassKnnCreateOcrClassKnncreate_ocr_class_knn,
write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainfwrite_ocr_trainf,
append_ocr_trainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainfAppendOcrTrainfappend_ocr_trainf,
write_ocr_trainf_imagewrite_ocr_trainf_imageWriteOcrTrainfImageWriteOcrTrainfImageWriteOcrTrainfImagewrite_ocr_trainf_image
可能的后继
do_ocr_single_class_knndo_ocr_single_class_knnDoOcrSingleClassKnnDoOcrSingleClassKnnDoOcrSingleClassKnndo_ocr_single_class_knn,
do_ocr_multi_class_knndo_ocr_multi_class_knnDoOcrMultiClassKnnDoOcrMultiClassKnnDoOcrMultiClassKnndo_ocr_multi_class_knn
替代
read_ocr_class_knnread_ocr_class_knnReadOcrClassKnnReadOcrClassKnnReadOcrClassKnnread_ocr_class_knn
另见
train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn
模块
光学字符识别/光学字符验证