一种快速匹配和识别表盖喷码的方法

文档序号:37005818发布日期:2024-02-09 12:52阅读:18来源:国知局
一种快速匹配和识别表盖喷码的方法

本发明属于图像识别,具体涉及一种快速匹配和识别表盖喷码的方法。


背景技术:

1、在水表盖生产完成后,对表盖进行喷码作为记录表盖型号以及对应编号信息的主要方法,在质量溯源以及存储管理方面起着不可或缺的作用。目前许多水表盖产商在在对表盖生成完成后,仍然采用人工识别喷码的方法对水表盖的型号以及编号进行检查。人工读取的方法不仅增加了工人的劳动强度,而且随着产能的不断扩大,工人长时间工作容易视觉疲劳,导致识别的效率以及准确率得不到保障。因此,传统的人工识别方法已经无法满足日常生产需求,需要通过图像识别技术实现一种水表盖型号自动匹配以及编号喷码识别的检测方法。


技术实现思路

1、本发明的目的在于提供一种快速匹配和识别表盖喷码的方法,首先,通过图像裁剪、二值化以及制定适当的筛选策略等步骤实现表盖区域提取;然后,计算表盖区域图像的梯度并使用形态学操作获得候选目标区域;接着,针对不同目标区域分别制定提取策略,获得表盖的型号喷码区域与编号喷码区域;最后,通过开源算法实现对同类型表盖的型号匹配以及编号的识别。实验结果表明,本发明方法具有良好的准确性和普适性,能够对不同类型的水表盖型号分别进行匹配和识别其编号喷码。

2、为实现上述目的,本发明的技术方案是:一种快速匹配和识别表盖喷码的方法,首先,通过图像裁剪、二值化以及制定筛选策略实现表盖区域提取;然后,计算表盖区域图像的梯度并使用形态学操作获得候选目标区域;接着,针对不同候选目标区域分别制定提取策略,获得表盖的型号喷码区域与编号喷码区域;最后,对同类型表盖的型号匹配以及编号的识别。

3、在本发明一实施例中,所述表盖区域提取具体实现如下:

4、s11、图像裁剪:根据拍摄所得的图像信息,通过公式(1)将图像按高进行裁剪;

5、

6、其中h0,w0为初始图像的高度和宽度,hi为裁剪后图像的高度,wi为裁剪后图像的宽度,这里只对图像的高度进行裁剪;

7、s12、图像二值化:首先使用cv2.cvtcolor函数(颜色空间转换函数)将裁剪后图像灰度化得到灰度图;然后,使用cv2.threshold函数(二值化函数)将阈值设置为50,对灰度图进行二值化处理得到二值图;

8、s13、表盖区域定位:根据二值图,制定筛选策略来获得表盖区域:首先,遍历二值图中所有轮廓并计算轮廓面积,将面积最大的轮廓提出来,并使用最大外接矩形填充;然后,通过公式(2)将填充结果赋值到与原图大小相同且初始化值为0的二值图的对应位置上;最后,使用cv2.minenclosingcircle函数(最小外接圆函数)获得相应轮廓在原图上的最小外接圆的中心坐标点(x,y)和半径长度radius,将半径长度radius*1.2后,使用最大外接矩形填充得到目标区域;

9、

10、其中,ic为与原图大小相等且初始值为0的二值图,ib为填充后得到的二值图;

11、s14、表盖区域提取:由s13得到的目标区域,获取其白色区域左上角点的坐标(x1,y1)和右下角点的坐标(x2,y2),通过公式(3)计算白色区域的高度和宽度,最后从原图将相应位置的图像裁剪出来,得到表盖区域图;

12、height,width=y1-y2,x1-x2  (3)。

13、在本发明一实施例中,所述获得候选目标区域的具体实现方式如下:

14、s21、图像梯度计算:首先,使用cv2.cvtcolor函数(颜色空间转换函数)将提取的表盖区域图转为灰度图;然后,分别采用x方向和y方向的sobel算子对转化的灰度图进行滤波,计算两个方向上的梯度,并通过公式(4)计算图像的总梯度,得到总梯度图;

15、g(i,j)=ω(i,j)*sx+ω(i,j)*sy  (4)

16、其中,sx与sy分为两个方向的算子,ω(i,j)表示以像素点(i,j)为中心的3*3局部图像窗口,g(i,j)代表图像梯度计算结果中像素点(i,j)处的值;

17、s22、形态学运算:

18、首先,构造两个矩形结构元素e1、e2:

19、

20、

21、其中,h为图像的高度,ni和mi分别代表对应矩阵的行数和列数;

22、然后,分别利用结构元素e1和e2对总梯度图执行闭运算closing和开运算opening;

23、s23、图像二值化:在s22形态学运算后获得的e1和e2对应灰度图的基础上,分别进行二值化处理。

24、在本发明一实施例中,所述获得表盖的型号喷码区域与编号喷码区域的具体实现方式如下:

25、s41、型号喷码区域提取

26、由于型号喷码识别区域位于表盖的左右两侧,基于s23得到的e1对应二值化图,制定以下提取步骤:首先,将图像按宽等为3份,取左右两侧区域图像;然后,定义一个大小为(n,n)的矩形构造元素e对图像执行两次膨胀操作;最后,遍历所得图像中的轮廓,保留轮廓面积最大的部分,并使用最大外接矩形填充后,再使用大小为(n,n)的矩形构造元素e执行一次膨胀操作,得到表盖左侧区域和表盖右侧区域图像;

27、分别获取表盖左侧区域和表盖右侧区域图像中白色区域的左上角点坐标(x1,y1)与右下角点坐标(x2,y2),通过公式(3)分别算白色区域的高度和宽度,最后从原图将相应位置的图像裁剪出来,得到表盖左右两侧区域,即表盖型号喷码区域;

28、s42、编号喷码区域提取

29、由于编号喷码区域位于表盖上方区域,根据基于s23得到的e2对应二值化图,制定以下提取步骤:首先,将图像按高等分为两份,截取上方区域图像;然后,遍历图像中的轮廓,并计算轮廓面积,保留轮廓面积大于20000且外接最大矩形的长宽比大于6的轮廓区域,并使用最大外接矩形填充;

30、对填充后的目标区域,定义一个大小为(m,k)的矩形构造元素e对图像执行两次膨胀操作,得到膨胀后的二值图后,通过公式(3)分别算白色区域的高度和宽度,最后从原图将相应位置的图像裁剪出来,得到表盖编号喷码区域。

31、在本发明一实施例中,所述对同类型表盖的型号匹配以及编号的识别的具体实现方式如下:

32、s51、模板匹配

33、基于s41得到的表盖型号喷码区域,对相同型号的其他水表盖图像使用cv2.matchtemplate函数(模板匹配函数)进行模板匹配,将匹配到的区域以矩形框在匹配图像中标出;

34、s53、字符识别

35、基于s42得到的表盖编号喷码区域,首先使用cv2.fastnlmeansdenoising函数(非局部平均去噪函数)对图像进行去噪;然后将图像转为灰度图后,再使用otsu算法将图像转为二值图;最后,使用cv2.copymakeborder函数(边界填充函数)在图像的四周进行拓展,并使用字符识别引擎对四周拓展后图像中的编号字符进行识别并将识别结果放在原图的左上角,得到最终识别结果。

36、在本发明一实施例中,s41中,n=h/48;s42中,m=k/4。

37、相较于现有技术,本发明具有以下有益效果:本发明一种快速匹配和识别表盖喷码的方法:首先,通过图像裁剪、二值化、制定筛选策略等步骤实现表盖区域提取;然后,计算表盖区域的图像梯度并结合形态学操作获得候选目标区域;接着,针对不同目标区域分别制定提取策略,获得型号喷码区域与编号喷码区域;最后,通过开源算法实现对同类型表盖型号的匹配以及编号的识别。实验结果表示,本发明方法具有良好普适性与准确性,对两种不同类型的水表盖均能有效匹配和识别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1