[发明专利]一种用于计量仪表机械表盘的数字自动识别抄表方法有效
申请号: | 201711158698.X | 申请日: | 2017-11-20 |
公开(公告)号: | CN107808159B | 公开(公告)日: | 2019-01-29 |
发明(设计)人: | 石爱国;何云;康惠海;杨宇翔 | 申请(专利权)人: | 杭州先锋电子技术股份有限公司 |
主分类号: | G06K9/34 | 分类号: | G06K9/34;G06K9/38;G06K9/40 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 计量 仪表 机械 表盘 数字 自动识别 方法 | ||
1.一种用于计量仪表机械表盘的数字自动识别抄表方法,其特征在于:先对原始图像进行反二值化处理,然后进行列投影和行投影获得数字区域定位框,接着对数字区域定位框中的图像进行列投影和行投影,找到第一个数字的中心坐标,进而确定其上下左右边缘的边界,分割出第一个数字的粗定位框,然后通过计算分割出其他位数字的粗定位框,对每一个粗定位框中的图像通过自适应阈值算法进行二值化,然后通过行投影和列投影确定出每一个数字的细定位框,接着将细定位框中的数字通过模板匹配算法进行比对,确定出对应的数字,最后通过形态学比对算法进一步提高比对的准确性;
所述抄表方法的具体步骤如下:
步骤(1):从摄像头获取计量仪表机械表盘当前帧图像B通道数据,记为f(x0,y0),采集到的图像分辨率大小为M×N,M和N均为正整数,x0,y0表示该图像的横坐标和纵坐标且均为正整数,按如下方式对表盘图像做反二值化处理:
其中η为二值化阈值,正整数;
步骤(2):对表盘的数字区域进行自动粗定位:
(a2)按如下方式对反二值化图像f(x0,y0)作X轴方向投影累加,累加和记为B(x0):
然后将x0从1增加到M,当出现B(x0)大于阈值η1时,当前x0记为数字区域的左边缘l1;将x0从M减小到1,当出现B(x0)大于阈值η2时,当前x0记为数字区域的右边缘r1;数字区域宽度w1=r1-l1+1;
(b2)按如下方式对反二值化图像f(x0,y0)作Y轴方向投影累加,累加和记为B(y0):
然后将y0从1增加到N,当出现B(y0)大于阈值η3时,当前y0记为数字区域的上边缘t1;将y0从N减小到1,当出现B(y0)大于阈值η4时,当前y0记为数字区域的下边缘b1;数字区域高度h1=b1-t1+1;
(c2)提取出粗定位部分图像数据R(x1,y1),其中x1、y1分别表示粗定位部分图像横坐标与纵坐标:
步骤(3):对粗定位部分图像进行数字字符分割:
(a3)按如下方式对图像R(x1,y1)做二值化处理:
β为正整数
(b3)按如下方式对二值化图像R(x1,y1)作X轴方向投影累加,累加和记为W1(x1):
每三列相加得到一个累加和,记为T1(x1):
T1(x1)=W1(x1)+W1(x1+1)+W1(x1+2),1≤x1≤w1-3
然后将x1从1增加到w1-3,当出现T1(x1)大于阈值β1时,当前x1记为第一个数字的左边缘l2;将x1从l2增加到w1-3,当出现T1(x1)小于阈值β1时,当前x1记为第一个数字的右边缘r2;第一个数字X轴中心坐标NCx1=(l2+r2)/2,粗定位左边缘NL1=NCx1-NW/2,粗定位右边缘NR1=NCx1+NW/2;
其中NW为数字粗定位框宽度;
(c3)按如下方式对二值化图像R(x1,y1)作Y轴方向投影累加,累加和记为W2(y1):
每三列相加得到一个累加和,记为T2(y1):
T2(y1)=W2(y1)+W2(y1+1)+W2(y1+2),1≤y1≤h1-3
然后将y1从h1/2增加到h1-3,当出现T2(y1)小于阈值β2时,当前y1记为第一个数字的下边缘b2;将y1从h1/2减小到1,当出现T2(y1)小于阈值β2时,当前y1记为第一个数字的上边缘t2;第一个数字Y轴中心坐标NCy1=(t2+b2)/2,粗定位上边缘NT1=NCy1-NH/2,粗定位下边缘NB1=NCy1+NH/2;
其中NH为数字粗定位框高度;
(d3)按照如下方式计算其余n-1个数字的上下左右边缘坐标,n>1且为正整数:
NTn=NT1;
NBn=NB1;
NLn=NL1+(n-1)*D;
NRn=NR1+(n-1)*D;
其中NLn表示第n位数字粗定位左边缘,NRn表示第n位数字粗定位右边缘,NTn表示第n位数字粗定位上边缘,NBn表示第n位数字粗定位下边缘,D表示每个数字字符的间隔;
步骤(4):对数字字符进行自适应阈值二值化处理:
对每一个粗定位框中的数字字符进行行均值滤波,每一行的阈值:
Thr=max{Thr(m)},m∈{1,2,…h1}
其中G(x2,y2)表示一个数字字符粗定位框中的B通道图像数据,x2表示横坐标,y2表示纵坐标,Thr(m)表示第m行阈值,Thr表示最终选定的阈值,然后对粗定位框中的数字字符进行二值化:
步骤(5):对粗定位框内的数字字符进行细定位:
(a5)按如下方式对二值化后的图像G(x2,y2)作X轴方向投影累加,累加和记为W3(x2):
每三列相加得到一个累加和,记为T3(x2):
T3(x2)=W3(x2)+W3(x2+1)+W3(x2+2),1≤x2≤NW-3
然后将x2从1增加到NW-3,当出现T3(x2)大于阈值χ1时,当前x2记为数字的左边缘l;将x2从l增加到NW-3,当出现T3(x2)小于阈值χ2时,当前x2记为数字的右边缘r;则当前数字X轴中心坐标NCx=(l+r)/2,细定位左边缘NL=NCx-nw/2,细定位右边缘NR=NCx+nw/2;
其中nw为数字的细定位框宽度;
(b5)按如下方式对二值化后的图像G(x2,y2)作Y轴方向投影累加,累加和记为W4(y2):
每三列相加得到一个累加和,记为T4(y2):
T4(y2)=W4(y2)+W4(y2+1)+W4(y2+2),1≤y2≤NH-3
然后将y2从NH/2增加到NH-3,当出现T4(y2)小于阈值χ3时,当前y2记为数字的下边缘b;将y2从NH/2减小到1,当出现T4(y2)小于阈值χ4时,当前y2记为数字的上边缘t;则当前数字Y轴中心坐标NCy=(t+b)/2,细定位上边缘NT=NCy-nh/2,细定位下边缘NB=NCy+nh/2;
其中nh为数字的细定位框高度;
(c5)按如下方式提取出细定位框内的图像数据,记为K(x3,y3),其中x3表示横坐标,y3表示纵坐标:
步骤(6):检测细定位框中的数字左右偏移量:
(a6)按如下方式对细定位框中左侧3列作X轴方向投影累加,累加和记为L(x3):
然后将x3从1增加到3,如果L(x3)≤δ,则认为该列全为黑色,统计3列中全为黑色的列数,记作BL,BL为负整数;
(b6)按如下方式对细定位框中右侧3列作X轴方向投影累加,累加和记为R(x3):
然后将x3从nw-2增加到nw,如果R(x3)≤δ,则认为该列全为黑色,统计3列中全为黑色的列数,记作BR,BR为正整数;
(c6)比较左右偏移量BL和BR,取偏移量绝对值最大的作为数字的最终偏移量MX;
步骤(7):将细定位框中的数字与标准数字模板进行比对:
(a7)按如下方式计算数字与标准数字模板中的10个数字的匹配率:MDnum(x3,y3)=|K(x3,y3)-Tnum(x3+MX,y3)|,0≤num≤9
其中MDnum(x3,y3)表示对应数字num的匹配率,Tnum(x3,y3)表示数字num的标准模板,然后求出10个匹配率中的最小值,记作该数字的匹配度MR0,对应的num即为该匹配度所对应的识别结果;
(b7)为了提高数字匹配的准确率,将标准数字模板上下移动3个像素,重复(a7)操作,记下该数字的匹配度MR1,MR2,MR3,MR4,MR5,MR6;然后求出这个7个匹配度中的最小值,对应的num即为所要识别的数字结果;
步骤(8):对形态相近的数字0,6,8,9再次进行检测:
(a8)按如下方式统计细定位框内每行黑色像素点总个数:
将x3从1增加到nw,如果K(x3,m)=0,1≤m≤nh,则第m行的黑色像素点计数变量Btotal[m]加1;
(b8)按如下方式统计细定位框内每一行中白色像素点左侧的黑色像素点个数:
将x3从1增加到nw,如果K(x3,m)=0,1≤m≤nh,则第m行的左侧黑色像素点计数变量Bleft[m]加1,一旦K(x3,m)=255,1≤m≤nh则停止计数;
(c8)按如下方式统计细定位框内每一行中白色像素点右侧的黑色像素点个数:
将x3从nw减小到1,如果K(x3,m)=0,1≤m≤nh,则第m行的右侧黑色像素点计数变量Bright[m]加1,一旦K(x3,m)=255,1≤m≤nh则停止计数;
(d8)按如下方式统计细定位框内每一行中连续白色像素点出现的次数,连续出现两个及以上算一次:
将x3从1增加到nw-2,如果K(x3,m)=255,K(x3+1,m)=255,K(x3+2,m)=255,1≤m≤nh,则第m行的连续白色像素出现次数计数变量Wcnt[m]加1,然后继续增加x3,检测到第一个黑色像素点后,重新进行上述操作,直到x3增加到nw-2;
(e8)按如下方式统计每行白色像素点之间的黑色像素点个数:
(f8)按如下方式检测数字是6或9:
首先去除细定位框中数字上边缘的噪声干扰,即检测是否仅中间存在几个白色像素点,将m从1增加到4,如果Bcent[m]=0并且Wcnt[m]=1则继续增加m,直到m大于4,则进行如下操作:
其中res表示最终检测结果,一旦符合条件则直接返回结果;
(g8)按如下方式检测数字是0或8:
将y3从1增加到nh,找到第一个使Wcnt[m]=2的y3记作y31,然后从y31增加到nh,找到第一个使Wcnt[m]≠2的y32,则:
其中res表示最终检测结果,一旦符合条件则直接返回结果;
对每一个粗定位框中的待检测字符重复步骤(4)、步骤(5)、步骤(6)、步骤(7)、步骤(8),即可得到计量仪表机械表盘上n位数字的最终识别结果。
2.根据权利要求1所述的一种用于计量仪表机械表盘的数字自动识别抄表方法,其特征在于所述步骤(7)中所述的标准数字模板能够通过步骤(1)-步骤(5)获得,即对每一位数字轮盘上的每一个数字重复步骤(1)-步骤(5),将其对应数字的K(x3,y3)作为标准数字模板。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州先锋电子技术股份有限公司,未经杭州先锋电子技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711158698.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种车牌类型区分系统和方法
- 下一篇:一种基于光视觉的水下目标识别方法