做百度网站优化多少钱ens域名注册
做百度网站优化多少钱,ens域名注册,小视频广告,搜索引擎入口网址OCR的实现共分为两步#xff0c;1是使用字符数据来训练OCR。2是使用OCR进行字符的识别。
训练分类器 训练分类器共分为4步#xff1a;
1是使用阈值来分割字符区域#xff1b;
2是调用append_ocr_trainf函数将字符加入训练集#xff1b;
3是创建分类器#xff1b;
4是…OCR的实现共分为两步1是使用字符数据来训练OCR。2是使用OCR进行字符的识别。
训练分类器 训练分类器共分为4步
1是使用阈值来分割字符区域
2是调用append_ocr_trainf函数将字符加入训练集
3是创建分类器
4是调用trainf_ocr_class_mlp函数来训练分类器。
*对字符进行训练得到分类器
TrainingNames : [F,M,1,4,A,4,2]
FontName : F:/YM_Project/SZWX/work_x32_MFOL2/function/MFOL2
TrainingFileName : FontName.trf
*当dev_set_check的参数为~give_error时这次检测会被忽略程序进入后面的操作。
dev_set_check (~give_error)
*删除指定位置的文件
delete_file (TrainingFileName)
for i : 0 to |TrainingNames|-1 by 1select_obj (FinalNumbers, CharaterRegions, i1)*将字符CharaterRegions添加到训练集TrainingFileName中append_ocr_trainf (CharaterRegions, FourthDarkImage, TrainingNames[i], TrainingFileName)disp_message (WindowID, TrainingNames[i], image, MeanRow-40, Column[i]-6, yellow, false)
endfor
*tuple_uniq( : : Tuple : Uniq)
*相邻重叠的元组只保留一个。常用于tuple_sort( : : Tuple : Sorted)之后tuple_sort是升序排列。
CharNames : uniq(sort(TrainingNames))
*创建mlp
create_ocr_class_mlp (8, 10, constant, default, CharNames, 5, none, 10, 42, OCRHandle)
*使用训练集来训练mlp
trainf_ocr_class_mlp (OCRHandle, TrainingFileName, 200, 1, 0.01, Error, ErrorLog)
write_ocr_class_mlp (OCRHandle, FontName)
clear_ocr_class_mlp (OCRHandle)
使用分类器进行识别 使用分类器进行字符识别的函数有两个1是do_ocr_multi_class_mlp该函数对一幅图像内的多个字符进行一次分类并输出分类结果。2是do_ocr_single_class_mlp该函数是对一幅图像中的单个字符进行分类。两者的对比试验表明后者的分类准确度要高因此下文使用do_ocr_single_class_mlp算子进行字符的分类。 分类的实现分为步1是读取分类器2是读取图片3是分割单个字符分类
*Step1根据分类器来分类
read_ocr_class_mlp (FontName, OCRHandle)
*Step2读取图片获得每一个图像
read_image (Image, F:/YM_Project/SZWX/1024SZWX/SVS900_XFMT1X110_CR6030_S1_4.bmp)
*Step分割单个字符
gen_rectangle1 (Rectangle1, 43, 2243, 707, 3675)
reduce_domain (Image, Rectangle1, ImageReduced1)
crop_domain (ImageReduced1, ImagePart)
median_image (ImagePart, ImageReduced1, circle, 3, mirrored)
threshold (ImageReduced1, Regions, 84, 255)
opening_circle (Regions, RegionOpening, 3.5)
connection (RegionOpening, ConnectedRegions)
select_shape (ConnectedRegions, Numbers, area, and, 1000, 9999)
count_obj (Numbers, CharacterNums)
ArrayConfidence : []
for IndexCharacter : 1 to CharacterNums by 1select_obj (Numbers, CharacterSelected, IndexCharacter) *Step分类do_ocr_single_class_mlp(CharacterSelected, ImagePart, OCRHandle,1, Class, Confidence)ArrayConfidence : [ArrayConfidence,Confidence]
endfor
关键函数解析
create_ocr_class_mlp( : : WidthCharacter, HeightCharacter, Interpolation, Features, Characters, NumHidden, Preprocessing, NumComponents, RandSeed : OCRHandle)WidthCharacter输入被分割的字符缩放到指定的宽度
HeightCharacter
Interpolation设置缩放的字符的缩放模式对于多数应用而言Interpolation constant。请注意转换后的字符大小不能太大因为分类器对较大尺寸的字符分类效果并不好。特别是如果尺寸较大一些小的分割误差会较大程度上影响分类的效果一般情况下sizes between 6x8 and 10x14
Features分类的特征向量的长度
Characters输出层神经元的个数也就是是需要匹配的字符查阅表中字符的个数。
NumHiddenMLP中隐藏层神经元的个数
Preprocessing矢量特征装换的预处理类型
NumComponents匹配字符的数量
这两个参数主要是对输入的值进行预处理。RandSeed初始化mlp
OCRHandle输出OCR_mlp分类器句柄
trainf_ocr_class_mlp( : : OCRHandle, TrainingFile, MaxIterations, WeightTolerance, ErrorTolerance : Error, ErrorLog) 训练一个神经网络分类器
do_ocr_multi_class_mlp(Character, Image : : OCRHandle : Class, Confidence) 使用OCR分类多个字符 Character是字符区域 Image是字符图片 OCRHandle是分类器句柄 Class是输出的类别 Confidence是输出的分类精度 do_ocr_single_class_mlp(CharacterSelected, ImagePart, OCRHandle,1, Class, Confidence) 分类单个字符其分类效果比上述同时分类多个字符的效果要好 --------------------- 作者罗泽 来源CSDN 原文https://blog.csdn.net/u013698770/article/details/53842205 版权声明本文为博主原创文章转载请附上博文链接
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86857.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!