halcon 日期识别学习

对于图片字符提取这部分一共有两个个方案,第一个方案是针对于正常无杂点的图片,第二、三个方案是针对于存在杂点影响的图片,该杂点是指在喷墨打印时遗漏墨点,而非水滴。

三个方案均是通过最小矩形对半裁剪,生成日期最小矩形和时间最小矩形,通过对矩形的长判断瓶子的正反方向,然后纠偏识别。

大体步骤:1.读取图片

                  2.图像预处理(阈值分割,提取标签部分,缩小处理区域)

                 3.将标签区域的最小外接矩形,从原图中剪切

                 4.获取最小矩形的中心坐标,通过坐标和长宽将矩形一分为二

                 5.两个矩形裁剪生成最小矩形,通过长度判断正反

                6.纠偏

               7.创建词典(之所以不直接使用字符模板直接识别,是因为,直接识别的话,字母O会被识别为数字0 等等异常识别,使用字典会比较准确识别)

               8.读取识别模板

              9.使用字典进行识别

 关键点:字典    局部阈值分割    最小外接矩形

注意点:halcon字符识别自带模板是基于白底黑字  ,输入的图像要进行转换  保证是二值化图像 并且是白底黑字,

        如果是黑底白字,使用算子 invert_image  进行图像翻转。 

对图像明亮部分进行阈值提取,筛选,填充内部空洞,裁剪,从而缩小处理区域

dev_get_window (WindowHandle)
ocr_train_file:='F:/train.trf'
ocr_mlp_file:='F:/mlp.omc'

*缩小范围
read_image (Image, 'D:/resource/picture/12.bmp')
threshold (Image, Region, 200, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 200000, 1000000)
fill_up (SelectedRegions, RegionFillUp)
reduce_domain (Image, RegionFillUp, Image)

因为其他图片暂时不在电脑上,先暂时用不合格照片进行演示,但用该方法一样可以识别,如果图片打光效果好,可以省略筛选步骤

对图像提取,膨胀,生成最小外接矩形,对图像和矩形的角度进行仿射变换,水平放置

*对缩小区域进行阈值分割
threshold (Image, Region1, 0, 90)
*膨胀
dilation_circle (Region1,
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值