一种用于燃气表机械表盘的转圈检测方法转让专利

申请号 : CN201610833410.3

文献号 : CN106441519B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨宇翔高明煜何志伟黄继业曾毓

申请人 : 杭州电子科技大学

摘要 :

本发明涉及一种用于燃气表机械表盘的转圈检测方法。本发明方法首先利用图像处理方法对燃气表机械表盘最后一位字符区域进行自动的精确定位,接着本方法自适应的构造机械表盘最后一位字符区域的参考图像,从而利用最后一位字符当前图像与参考图像之间的差分结果完成转圈检测,最终利用检测到的转圈数所对应的容量与燃气表实际的进气量进行比较,计算燃气表机械表盘的流量误差。本发明方法具有效率高、可靠高、准确性高的优点,可以提高产品质量,降低生产成本,具有重要的工程实际意义。

权利要求 :

1.一种用于燃气表机械表盘的转圈检测方法,其特征在于,该方法的具体步骤是:步骤(1):fi(x,y)表示采集到的大小为M×N的燃气表机械表盘第i帧图像,x,y表示图像的横坐标和纵坐标,按如下方式对表盘图像做二值化处理:其中η为二值化阈值;

步骤(2):对表盘的最后一位字符区域进行自适应定位:(a)按如下方式对各二值化图像作帧间差分并累加:其中K表示累加的次数,C(x,y)表示累加得到的差分图;

(b)按下式对差分图C(x,y)作列累加:

然后将x从1增加到M,当出现H(x)大于阈值η1时,当前x记为最后一位字符区域的上边缘h1;继续增加x,当出现H(x)小于阈值η1且当前x与上边缘h1满足x-h1>α1,参数α1为字符区域高度阈值,则当前x记为最后一位字符区域的下边缘h2;

(c)按下式对差分图C(x,y)作行累加:

然后将y从N减小到1,当出现V(y)大于阈值η2时,当前y记为最后一位字符区域的右边缘w2;继续减小y,当出现V(y)小于阈值η2且当前y与右边缘w2满足w2-y>α2,参数α2为字符区域宽度阈值,则当前y为最后一位字符区域的左边缘w1;

从而由上边缘h1,下边缘h2,左边缘w1和右边缘w2得到表盘最后一位字符的矩形区域;

步骤(3):采集最后一位字符矩形区域的参考图像:实时采集表盘最后一位字符矩形区域的当前图像,作二值化处理,记为g(x,y),对g(x,y)按如下方式作累加:其中(w2-w1)为最后一位字符矩形区域的宽度,(h2-h1)为最后一位字符矩形区域的高度;

若G(x)满足如下条件:

且 且

则将当前g(x,y)定义为最后一位字符矩形区域的参考图像,记为I(x,y),执行步骤(4);否则重新采集最后一位字符区域的实时图像,重新执行步骤(3);

步骤(4):对最后一位字符作转圈检测:

首先将标志位T置为0,将累加位S置为0;

①实时采集表盘最后一位字符矩形区域图像,作二值化处理,记为g(x,y),对g(x,y)按如下方式作累加:若 且标志位T为0,则判定表盘最后一位转过了一个字符,将标志位T置为

1,累加位S加上1;若累加位S满足S≥8,则执行步骤②,否则继续执行步骤①;

若 且标志位T为1,将标志位T置为0,继续执行步骤①;

②连续采集表盘最后一位字符矩形区域的当前图像,作二值化处理,记为g(x,y),将g(x,y)与参考图像I(x,y)作差:F(x,y)=|g(x,y)-I(x,y)|若F(x,y)内非零点个数小于阈值β,则判定表盘最后一位转过了一圈,发出转圈信号,重新执行步骤(4)直到发出了L次转圈信号;

步骤(5):以第一次转圈信号的时间t1为基准时间点,记录下第L次转圈信号的时间为t2,按如下公式计算燃气表表盘的流量误差ε:其中H是燃气表表盘最后一位代表的基准流量,D表示给燃气表的供气流量,通过计算转圈信号之间的时间差,结合燃气表的供气流量,完成对燃气表表盘的流量误差计算。

说明书 :

一种用于燃气表机械表盘的转圈检测方法

技术领域

[0001] 本发明属于检测领域,具体涉及一种用于燃气表机械表盘的转圈检测方法。

背景技术

[0002] 传统的燃气表机械表盘在最后一位上贴有一个银白色的反光标签,采用一个光电检测装置对准反光标签,实现对燃气表机械表盘最后一位的转圈进行检测。最后利用光电检测装置记录下的转圈数对应的容量与燃气表实际的进气量进行比较计算燃气表机械表盘的流量误差。该传统的转圈检测方法对准反光标签过程很繁琐,而且每一次换表时都必须重新对准反光标签,劳动强度和工作量非常大,而且易受检测人员主观因素的影响,容易造成误检测的现象。因此研究出一种高效率、高可靠、高准确性的燃气表机械表盘的转圈检测方法,可以提高产品质量,降低生产成本,具有重要的工程实际意义。
[0003] 本发明方法利用图像处理方法对燃气表机械表盘最后一位字符区域进行自动的精确定位,并自适应的完成机械表盘最后一位的转圈检测。本发明方法可以很好的克服传统光电检测方法的不足,具有效率高、适应性好、检测精度高的优点。

发明内容

[0004] 为了克服现有技术的不足,本发明提出一种用于燃气表机械表盘的转圈检测方法,其特征在于,该方法的具体步骤是:
[0005] 步骤(1):fi(x,y)表示采集到的大小为M×N的燃气表机械表盘第i帧图像,x,y表示图像的横坐标和纵坐标,按如下方式对表盘图像做二值化处理:
[0006]
[0007] 其中η为二值化阈值;
[0008] 步骤(2):对表盘的最后一位字符区域进行自适应定位:
[0009] (a)按如下方式对各二值化图像作帧间差分并累加:
[0010]
[0011] 其中K表示累加的次数,C(x,y)表示累加得到的差分图;
[0012] (b)按下式对差分图C(x,y)作列累加:
[0013]
[0014] 然后将x从1增加到M,当出现H(x)大于阈值η1时,当前x记为最后一位字符区域的上边缘h1;继续增加x,当出现H(x)小于阈值η1且当前x与上边缘h1满足x-h1>α1,参数α1为字符区域高度阈值,则当前x记为最后一位字符区域的下边缘h2;
[0015] (c)按下式对差分图C(x,y)作行累加:
[0016]
[0017] 然后将y从N减小到1,当出现V(y)大于阈值η2时,当前y记为最后一位字符区域的右边缘w2;继续减小y,当出现V(y)小于阈值η2且当前y与右边缘w2满足w2-y>α2,参数α2为字符区域宽度阈值,则当前y为最后一位字符区域的左边缘w1;
[0018] 从而由上边缘h1,下边缘h2,左边缘w1和右边缘w2得到表盘最后一位字符的矩形区域;
[0019] 步骤(3):采集最后一位字符矩形区域的参考图像:
[0020] 实时采集表盘最后一位字符矩形区域的当前图像,作二值化处理,记为g(x,y),对g(x,y)按如下方式作累加:
[0021]
[0022] 其中(w2-w1)为最后一位字符矩形区域的宽度,(h2-h1)为最后一位字符矩形区域的高度;
[0023] 若G(x)满足如下条件:
[0024] 且 且
[0025] 则将当前g(x,y)定义为最后一位字符矩形区域的参考图像,记为I(x,y),执行步骤(4);否则重新采集最后一位字符区域的实时图像,重新执行步骤(3);
[0026] 步骤(4):对最后一位字符作转圈检测:
[0027] 首先将标志位T置为0,将累加位S置为0;
[0028] ①实时采集表盘最后一位字符矩形区域图像,作二值化处理,记为g(x,y),对g(x,y)按如下方式作累加:
[0029]
[0030] 若 且标志位T为0,则判定表盘最后一位转过了一个字符,将标志位T置为1,累加位S加上1;若累加位S满足S≥8,则执行步骤②,否则继续执行步骤①;
[0031] 若 且标志位T为1,将标志位T置为0,继续执行步骤①;
[0032] ②连续采集表盘最后一位字符矩形区域的当前图像,作二值化处理,记为g(x,y),将g(x,y)与参考图像I(x,y)作差:
[0033] F(x,y)=|g(x,y)-I(x,y)|
[0034] 若F(x,y)内非零点个数小于阈值β,则判定表盘最后一位转过了一圈,发出转圈信号,重新执行步骤(4)直到发出了L次转圈信号;
[0035] 步骤(5):以第一次转圈信号的时间t1为基准时间点,记录下第L次转圈信号的时间为t2,按如下公式计算燃气表表盘的流量误差ε:
[0036]
[0037] 其中H是燃气表表盘最后一位代表的基准流量,D表示给燃气表的供气流量,通过计算转圈信号之间的时间差,结合燃气表的供气流量,完成对燃气表表盘的流量误差计算。
[0038] 本发明的有益效果:本发明方法利用图像处理方法对燃气表机械表盘最后一位字符区域进行自动的精确定位,并自适应的完成机械表盘最后一位的转圈检测,最终利用检测到的转圈数所对应的容量与燃气表实际的进气量进行比较,计算燃气表机械表盘的流量误差。本发明方法具有效率高、可靠高、准确性高的优点,可以很好的克服传统光电检测方法的不足,降低生产成本,具有重要的工程实际意义。具体实施方式:
[0039] 步骤(1):fi(x,y)表示采集到的大小为M×N的燃气表机械表盘第i帧图像,x,y表示图像的横坐标和纵坐标,按下式对表盘图像做二值化处理:
[0040]
[0041] 其中二值化阈值η选为150;
[0042] 步骤(2):对表盘的最后一位字符区域进行自适应定位:
[0043] (a)按如下方式对各二值化图像作帧间差分并累加:
[0044]
[0045] 其中K表示累加的次数,C(x,y)表示累加得到的差分图;
[0046] (b)按下式对差分图C(x,y)作列累加:
[0047]
[0048] 将x从1增加到M,当H(x)大于阈值η1时,当前x记为最后一位字符区域的上边缘h1;继续增加x,当出现H(x)小于阈值η1且当前x与上边缘h1满足x-h1>α1(参数α1选为70),则当前x记为最后一位字符区域的下边缘h2;
[0049] (c)按下式对差分图C(x,y)作行累加:
[0050]
[0051] 将y从N减小到1,当V(y)大于阈值η2时,当前y记为最后一位字符区域的右边缘w2;继续减小y,当出现V(y)小于阈值η2且当前y与右边缘w2满足w2-y>α2(参数α2选为50),则当前y为最后一位字符区域的左边缘w1;
[0052] 从而由上边缘h1,下边缘h2,左边缘w1和右边缘w2得到表盘最后一位字符的矩形区域;
[0053] 步骤(3):采集最后一位字符矩形区域的参考图像:
[0054] 实时采集表盘最后一位字符矩形区域的当前图像,作二值化处理,记为g(x,y),对g(x,y)按如下方式作累加:
[0055]
[0056] 其中(w2-w1)为最后一位字符矩形区域的宽度,(h2-h1)为最后一位字符矩形区域的高度;
[0057] 若G(x)满足如下条件:
[0058] 且 且
[0059] 则将当前g(x,y)定义为最后一位字符矩形区域的参考图像,记为I(x,y),执行步骤(4);否则重新采集最后一位字符区域的实时图像,重新执行步骤(3);
[0060] 步骤(4):对最后一位字符作转圈检测:
[0061] 首先将标志位T置为0,将累加位S置为0;
[0062] ①实时采集表盘最后一位字符矩形区域图像,作二值化处理,记为g(x,y),对g(x,y)按如下方式作累加:
[0063]
[0064] 若 且标志位T为0,则判定表盘最后一位转过了一个字符,将标志位T置为1,累加位S加上1;若累加位S满足S≥8,则执行步骤②,否则继续执行步骤①;
[0065] 若 且标志位T为1,将标志位T置为0,继续执行步骤①;
[0066] ②连续采集表盘最后一位字符矩形区域的当前图像,作二值化处理,记为g(x,y),将g(x,y)与参考图像I(x,y)作差:
[0067] F(x,y)=|g(x,y)-I(x,y)|
[0068] 若F(x,y)内非零点个数小于阈值50,则判定表盘最后一位转过了一圈,发出转圈信号,重新执行步骤(4)直到发出了L次转圈信号;
[0069] 步骤(5):以第一次转圈信号的时间t1为基准时间点,记录下第L次转圈信号的时间为t2,按如下公式计算燃气表表盘的流量误差ε:
[0070]
[0071] 其中H是燃气表表盘最后一位代表的基准流量,D表示给燃气表的供气流量,通过计算转圈信号之间的时间差,结合燃气表的供气流量,完成对燃气表表盘的流量误差计算。