1、append_ocr_trainf

append_ocr_trainf(Character, // 选中当前目标Image, // 目标对应图片Class, // 字符的类别(名称) TrainingFile) // 培训文件的名称
  • 定义:向训练文件中添加字符

  • 说明

  • 操作符append_ocr_trainf用于使用操作符trainf_ocr_class_mlp或trainf_ocr_class_svm准备训练

  • 因此,表示字符的区域,包括其灰度值(区域和像素)和相应的类名将被写入文件。在一个映像中支持任意数量的区域。对于“字符”中的每个字符(区域),必须在“类”中指定相应的类名。灰度值通过参数Image传递

  • 与操作符write_ocr_trainf不同的是,字符被附加到使用与该文件相同的训练文件格式的现有文件中。如果文件不存在,则生成一个新文件

  • 在这种情况下,可以通过操作符set_system的参数'ocr_trainf_version'来选择文件格式。如果在TrainingFile中没有指定文件扩展名,则扩展名'。Trf '被加在名字后面

  • 如果参数正确,操作符append_ocr_trainf返回值TRUE,否则将引发异常

2、read_ocr_trainf_names

read_ocr_trainf_names(TrainingFile, // 训练文件名称CharacterNames, // 训练字体的名称CharacterCount) // 训练字体样本的个数
  • 定义:查询训练文件中存储的字符

  • 说明:提取指定训练文件中所有字符的名称和频率

3、create_ocr_class_mlp

create_ocr_class_mlp(WidthCharacter, HeightCharacter, // 识别字符宽度、高度Interpolation, // 插值算法Features, // 特征值 (区域特征、灰度值特征   包含曲度、紧密度、凸性等等)Characters, // 训练样本的名称NumHidden, // 隐藏层中的单元数Preprocessing, // 预处理NumComponents, // 特征变换的数量(特征未规划前的向量数一般为默认值)RandSeed, // 随机种子点数一般都写42 ,这个是神经网络迭代的过程OCRHandle) // 句柄
  • 定义:创建一个使用多层感知器(MLP)的OCR分类器,得到OCR分类器的句柄

  • 说明

  • create_ocr_class_mlp创建一个OutputFunction = 'softmax'的MLP。MLP的特征向量(create_class_mlp中的NumInput)的长度由用于OCR的特性决定,这些特性在features中传递

  • MLP的输出变量的数量由OCR中要使用的字符的名称确定,在characters中传递

  • 使用参数Preprocessing和NumComponents来指定数据(即特征向量)的预处理

  • 预处理通常可以设置为“none”

  • 要分类的字符被转换为标准大小,由WidthCharacter和HeightCharacter决定

  • 用于变换的插值由插值确定,对于大多数应用程序,应该使用Interpolation = 'constant'

  • 应用

  • 创建分类器后,使用trainf_ocr_class_mlp对其进行训练

  • 在此之后,可以使用write_ocr_class_mlp保存分类器,或者可以在训练后立即使用分类器使用do_ocr_single_class_mlp或do_ocr_multi_class_mlp对字符进行分类

  • MLP和支持向量机(SVM)的比较(参见create_ocr_class_svm)通常表明,支持向量机在训练时通常更快,特别是对于庞大的训练集,并且获得比MLP稍好的识别率。MLP在分类上更快,因此在时间关键的应用中应该是首选

4、trainf_ocr_class_mlp

trainf_ocr_class_mlp(OCRHandle, // 句柄TrainingFile, // trf文件,ocr.trfMaxIterations, // 优化算法最大迭代次数 200 WeightTolerance, // 砝码公差 优化算法两次迭代MLP权值差的阈值 1.0 ErrorTolerance, // 错误公差 两次迭代平均误差阈值 0.01Error, // 训练数据平均误差ErrorLog) // 算法在训练数据上的平均错误
  • 定义:使用TrainingFile提供的OCR训练文件中存储的训练字符训练OCR分类器OCRHandle,输出平均误差与错误

  • 说明

  • 训练文件必须已经创建

  • 在训练过程中会考虑OCR分类器的正规化和正规化参数的自动确定(参见set_regularization_params_ocr_class_mlp),如果使用set_rejection_params_ocr_class_mlp指定了拒绝类,则在实际训练之前生成拒绝类的样本

  • 注意:在分类器OCRHandle中没有对应类的训练字符将被丢弃

5、write_ocr_class_mlp

write_ocr_class_mlp(OCRHandle, // 需要保存的句柄FileName) // 路径地址
  • 定义:将OCR分类器OCRHandle写入FileName指定的文件

  • 说明

  • 如果在FileName中没有指定文件扩展名,则默认扩展名'.omc'被附加到FileName

  • Write_ocr_class_mlp通常在使用trainf_ocr_class_mlp训练分类器之后调用,可以使用read_ocr_class_mlp读取分类器

6、clear_ocr_class_mlp

clear_ocr_class_mlp( : : OCRHandle : )
  • 定义:清除由create_ocr_class_mlp创建的OCRHandle提供的OCR分类器,并释放分类器所需的所有内存

  • 说明:调用clear_ocr_class_mlp之后,分类器就不能再使用了,句柄OCRHandle变得无效

Halcon学习---光学字符训练、识别(OCR)算子相关推荐

  1. Halcon学习---光学字符识别(OCR)

    1. text_line_orientation text_line_orientation(Region, // 输入文本行所在区域Image, // 输入图像CharHeight, Orienta ...

  2. Halcon学习笔记(八)——OCR初步创建并训练OCR分类器

    第一讲 OCR:(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方法将 ...

  3. 表单识别(四)-基于深度学习的表单识别)-OCR

    (论文研读后,感觉有用的一些笔记,主要是给自己记录) 论文:熊雨点,基于深度学习的表单识别系统的研究与实现 基于深度学习的表单识别 前言: 文档检测方法: 基于扩张卷积残差网络的表单文档定位方法: 扩 ...

  4. halcon学习拓展系列—修改图片分辨率算子modify_image_size(尺度不缩放)

    前面做过两个涉及图像分表率调整的专题 1)<halcon学习拓展系列-根据分辨率调整点云图像分辨率算子adjust_image_size_base_resolution>(尺度缩放) 2) ...

  5. Halcon学习笔记(九)——OCR实战练习 倾斜日期检测、倒着的字符检测

    第四-八讲 OCR实战练习 在基于之前的例程分析之上,这里做具体应用,比如,食品包装袋上倾斜的日期识别,温度计上倒着的字符识别等. 倾斜日期识别 首先,对于这样一幅图片,怎样实现对日期的提取? 法一: ...

  6. python+tensorflow LeNet---深度学习MINST手写体训练识别

    数据样本 1.首先我们要有手写体的数据集文件 下载地址MINST手写体数据 2.训练集:共60000个,其中55000个用于训练,另外5000个用于验证   测试集:共10000个  训练集:和机器学 ...

  7. halcon学习笔记-车牌号识别

    1.读取图像 快捷键:ctrl+r,以这张车牌为例: 2.图像三通道分割 由于图像中颜色区分明显,尤其是车牌号与背景之间的色差较大,用颜色特征进行分割比较合适.通过三通道分割,将RGB图分成三层独立的 ...

  8. halcon学习-二维码识别过程中对参数的选择以及对畸变的处理学习日志及遇到的问题

    写在前面: 本日志内容参考资料如下: 1.set_data_code_2d_param参数的选择 https://blog.csdn.net/cherish_now_forever/article/d ...

  9. 基于Halcon学习的一维码识别【八】barcode.param_meas_thresh_abs.hdev

    使用条形码参数'meas_thresh_abs'的示例程序:该参数可用于在查找我们希望具有高对比度的条形码符号区域时减少误报的数量.为了人工证明这一点,我们试图找到条形码类型的药典,它没有检查字符,因 ...

最新文章

  1. 程序员50题(JS版本)(九)
  2. java Hashtable的遍历方法
  3. 光流 | 基于Horn-Schunck HS变分光流算法改进
  4. Opencv——几何空间变换(仿射变换和投影变换)
  5. CSS具有最高优先级 !important
  6. Lua mysql insert 并发数_高并发 Nginx+Lua OpenResty系列(6)——Lua开发库Mysql
  7. 前缀转后缀(表达式)
  8. CS224N笔记——词向量表示
  9. java URl 匹配器
  10. 算法设计与分析基础 第八章谜题
  11. Monitor模式和AP模式下获取WiFi的CSI信号
  12. javascript 中Object.entries
  13. Unity_回合制战斗系统_01
  14. 观影《超时空接触》有感
  15. teamviewer远程黑屏问题
  16. JavaScript中查找关键词
  17. 小程序点击按钮分享功能
  18. 使用Hexo搭建个人博客-保姆级教程
  19. 高校科研管理系统设计与实现小程序-计算机毕业设计
  20. win10一键优化禁用缓存,禁用组件,

热门文章

  1. 2023年网络安全最应该看的书籍,弯道超车,拒绝看烂书
  2. 小厂前端实习生面经| 深圳
  3. 《数据结构》_第一章_绪论_蜂考_复习资料_严蔚敏、李冬梅、吴伟民编著
  4. Python爬取网易云音乐1万条评论,感受到疫情下的真情
  5. 谷粒商城(新增商品、商品管理、仓库管理)思路详解
  6. html怎么把图片当作导航栏,css利用一张背景图制作导航菜单实现思路及代码
  7. 导航栏BottomNavigationBar使用
  8. SQL39道代码练习题
  9. 百亿美元估值的贝壳找房,值吗?
  10. ubuntu12.04中rsync应用