halcon光学字符识别例程之 bottle.hdev:training trf and omc file
**
-
对图像预处理得到目标区域
二值化之后开运算去掉细小噪声,fill up 填充将数字中间空洞填充。
继续开运算,得到较好的图像。connection将图像分为几个区域,intersection函数与原来的区域看字符划分是否满足自己的性需求,如果满足,即可用select shape 函数将自己的roi得到。sort region 对字符进行排序。 -
训练字符
建立数组命名trainingname ,放入要训练的字符,
trainingfilename 为训练的trf文件名
sort region 再次对字符进行排序,为了接下来循环识别提供依据
shape trains主要是建立外接形状,确定字符的范围
area center 是为了确定字符位置,为后来的显示字符提供数据
接下来进入循环,进行训练
select obj 选择目标
append OCR trainf 向训练文件中添加字符
disp _message 显示字符,位置根据area_center中的数据确定
creat ocr class mlp 使用多层感知机创建ocr分类器
trainf ocr class mlp 开始训练OCR分类器
write OCR class mlp 将OCR分类器写入预先创建的文件夹中
至此,字符识别的训练过程就全部结束了,接下来就可以读取分类器对字符进行识别。识别有两种算子,一种是do ocr single class mlp,还有一种是do ocr mult class mlp,两种一个是单通路,一个是多通路识别,我们一般可以用第二个进行识别。 -
OCR训练四个最重要的算子
append ocr trainf
creat ocr class mlp
trainf ocr class mlp
write ocr class mlp
通过这四个算子即可训练出自己所需要的文件,不过在这之前需要对图像进行预处理,需要得到自己需要的roi 。