开启左侧

ocr字符识别训练

[复制链接]
祝禹弢 发表于 2019-3-9 19:20:42 | 显示全部楼层 |阅读模式
  1. dev_display (ImageReduced)
  2. rgb1_to_gray (ImageReduced, GrayImage1)
  3. threshold (GrayImage1, Regions1, 191, 241)
  4. dilation_circle (Regions1, RegionDilation1, 13)
  5. dev_display (RegionDilation1)
  6. connection (RegionDilation1, ConnectedRegions1)
  7. *注:一定先输入膨胀后带不同连通域的region
  8. intersection (ConnectedRegions1, Regions1, RegionIntersection1)
  9. *按第一点排序
  10. sort_region (RegionIntersection1, SortedRegions, 'character', 'true', 'column')
  11. *计算连通域个数
  12. count_obj (SortedRegions, Number)
  13. *for循环编号
  14. *区域、图像、xld索引数组都是从1开始,而字符索引从0开始,所以下面是word[i-1]
  15. for i:=1 to Number by 1
  16.     select_obj (SortedRegions, SingleWord, i)
  17. endfor
  18. *形成trf文件,字符区域和字符关联
  19. words:=['数','学']
  20. TrainFile:='C://Users/Public/Documents/MVTec/HALCON-12.0/zyt/ocr字符训练/√单字符多个连通域/word0.trf'


  21. for i:=1 to Number by 1
  22.     select_obj (SortedRegions, SingleWord, i)
  23.     *write_ocr
  24.     *                  当前连通域    转正后的图像       对应文字    保存路径
  25.     append_ocr_trainf (SingleWord, ImageAffinTrans,words[i-1], 'word0')
  26.    
  27. endfor

  28. FontFile:='C://Users/Public/Documents/MVTec/HALCON-12.0/zyt/ocr字符训练/√单字符多个连通域/word0.omc'
  29. *                      读文件路径  文件名字        文件个数
  30. read_ocr_trainf_names (TrainFile, CharacterNames, CharacterCount)

  31. Numhidden:=20
  32. *1创建神经网络分类器,被分割字符的宽高          特征        读取的文件(上面的CharacterNames)   句柄
  33. create_ocr_class_mlp (10, 30, 'constant', 'default', CharacterNames, 80, 'none', 10, 42, OCRHandle)
  34. *2训练分类器          输入句柄和文件路径进行训练                                          
  35. trainf_ocr_class_mlp (OCRHandle, TrainFile, 200, 1, 0.01, Error, ErrorLog)
  36. *3保存omc文件                   写的路径
  37. write_ocr_class_mlp (OCRHandle, FontFile)
  38. *4清楚句柄
  39. clear_ocr_class_mlp (OCRHandle)

  40. read_ocr_class_mlp (FontFile, OCRHandle1)
  41. do_ocr_multi_class_mlp (SingleWord, ImageAffinTrans, OCRHandle1, Class, Confidence)
复制代码
这是抠图之后的代码,“数”字并没有被识别
LK[FK08`{]VNSB4$4V_B02Q.jpg
zrp785962235 发表于 2019-3-10 15:35:28 | 显示全部楼层
要腐蚀一下,将米 女 反文旁分开,在创建字典
 楼主| 祝禹弢 发表于 2019-3-10 20:13:53 | 显示全部楼层
zrp785962235 发表于 2019-3-10 15:35
要腐蚀一下,将米 女 反文旁分开,在创建字典

您好,分开是指的分成不同的连通域吗?还有一个问题就是,如果分开创建字典,如何让机器将“数”和“米 女 反文旁”联系起来呢?
Criss 发表于 2019-3-11 10:45:18 | 显示全部楼层
建议中文训练把整个字符膨胀在和原来的区域做交集,求出整体字体区域做训练!楼主可以参考本站的车牌识别系统https://www.51halcon.com/thread-922-1-1.html
 楼主| 祝禹弢 发表于 2019-3-11 15:58:04 | 显示全部楼层
Criss 发表于 2019-3-11 10:45
建议中文训练把整个字符膨胀在和原来的区域做交集,求出整体字体区域做训练!楼主可以参考本站的车牌识别系 ...

好的,谢谢指导!
zrp785962235 发表于 2019-3-15 09:16:51 | 显示全部楼层
祝禹弢 发表于 2019-3-10 20:13
您好,分开是指的分成不同的连通域吗?还有一个问题就是,如果分开创建字典,如何让机器将“数”和“米  ...

首先分开区域不能相连,分开后再组合就好了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表