append_ocr_trainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainfappend_ocr_trainf附加光学字符识别训练文件(算子)
名称
append_ocr_trainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainfappend_ocr_trainf — 将字符添加到训练文件中。
签名
void AppendOcrTrainf(const HObject& Character, const HObject& Image, const HTuple& Class, const HTuple& TrainingFile)
void HRegion::AppendOcrTrainf(const HImage& Image, const HTuple& Class, const HString& TrainingFile) const
void HRegion::AppendOcrTrainf(const HImage& Image, const HString& Class, const HString& TrainingFile) const
void HRegion::AppendOcrTrainf(const HImage& Image, const char* Class, const char* TrainingFile) const
void HRegion::AppendOcrTrainf(const HImage& Image, const wchar_t* Class, const wchar_t* TrainingFile) const
(
Windows only)
描述
算子 append_ocr_trainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainfAppendOcrTrainfappend_ocr_trainf 用于为 trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlpTrainfOcrClassMlptrainf_ocr_class_mlp 或 trainf_ocr_class_svmtrainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm 算子准备训练数据。此处将把代表字符的区域,包括其灰度值(区域和像素),及其对应的类名写入文件。支持单张图像内任意数量的区域。对于 CharacterCharacterCharacterCharactercharactercharacter 中的每个字符(区域),必须在 ClassClassClassClassclassValclass 中指定对应的类名。灰度值通过参数 ImageImageImageImageimageimage 传递。与 write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainfwrite_ocr_trainf 算子不同,本算子采用与现有训练文件相同的格式将字符追加至文件。若文件不存在则生成新文件。此时文件格式可通过 set_systemset_systemSetSystemSetSystemSetSystemset_system 算子的 'ocr_trainf_version'"ocr_trainf_version""ocr_trainf_version""ocr_trainf_version""ocr_trainf_version""ocr_trainf_version" 参数选择。如果 TrainingFileTrainingFileTrainingFileTrainingFiletrainingFiletraining_file 未指定文件扩展名,则自动添加'.trf'后缀。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
CharacterCharacterCharacterCharactercharactercharacter (输入对象) region(-array) → objectHRegionHObjectHRegionHobject
待训练的字符。
ImageImageImageImageimageimage (输入对象) singlechannelimage → objectHImageHObjectHImageHobject (byte / uint2)
字符的灰度值。
ClassClassClassClassclassValclass (输入控制) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
字符的类(名称)。
TrainingFileTrainingFileTrainingFileTrainingFiletrainingFiletraining_file (输入控制) filename.write → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
训练文件的名称。
默认值:
'train_ocr'
"train_ocr"
"train_ocr"
"train_ocr"
"train_ocr"
"train_ocr"
File extension:
.trf, .otr
示例(C)
char name[128];
char class[128];
read_image(&Image,"character.tiff");
binary_threshold(Image,&Dark, 'otsu', 'dark', &UsedThreshold);
connection(Dark,&Character);
count_obj(Character,&num);
create_tuple(&Class,num);
open_window(0,0,-1,-1,0,"","",&WindowHandle);
set_color(WindowHandle,"red");
for (i=0; i<num; i++) {
select_obj(Character,&SingleCharacter,i);
disp_region(SingleCharacter,WindowHandle);
printf("class of character %d ?\n",i);
scanf("%s\n",class);
append_ocr_trainf(Character,Image,name,class);
}
结果
如果参数正确,算子
append_ocr_trainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainfAppendOcrTrainfappend_ocr_trainf 返回值 2 ( H_MSG_TRUE )。否则将抛出异常。
可能的前趋
thresholdthresholdThresholdThresholdThresholdthreshold,
connectionconnectionConnectionConnectionConnectionconnection,
read_ocr_trainfread_ocr_trainfReadOcrTrainfReadOcrTrainfReadOcrTrainfread_ocr_trainf
可能的后继
trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlpTrainfOcrClassMlptrainf_ocr_class_mlp,
trainf_ocr_class_svmtrainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm,
write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainfwrite_ocr_trainf
替代
write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainfwrite_ocr_trainf,
write_ocr_trainf_imagewrite_ocr_trainf_imageWriteOcrTrainfImageWriteOcrTrainfImageWriteOcrTrainfImagewrite_ocr_trainf_image
模块
光学字符识别/光学字符验证