本发明专利技术公开了一种基于机器视觉的水表自动读数方法,首先对水表表盘数字图像进行捕获,并调整图像的大小和分辨率。其次对水表表盘的红色指针区域进行提取,以及人工调色。然后对图像先后进行灰度处理、自适应二值化处理以及膨胀处理。再然后对图像进行边缘轮廓的提取,计算中心点坐标与各边缘轮廓点坐标的距离,获取距离最大的点的坐标,得到指针指向。最后确定指针指向的数字区域,根据指针所在的流量单位获得累积值A,通过模板识别匹配获得累积值B,叠加A和B获取水表面板的实时读数。本发明专利技术能够快速准确地获取机械水表表盘读数,为水表检定带来了巨大的便利。表检定带来了巨大的便利。表检定带来了巨大的便利。
【技术实现步骤摘要】
一种基于机器视觉的水表自动读数方法
[0001]本专利技术涉及水表智能化识读领域,具体涉及一种基于机器视觉的水表自动读数方法。
技术介绍
[0002]随着我国国民经济的快速发展,民生领域对于水表这一种传统的水资源计量方式的应用越来越广。伴随而来的是天文数字的机械水表的使用及其智能化检测需求得不到满足的矛盾。
[0003]传统的依靠人眼识读方式会因为人工疲劳而产生人工读数引入的误差和不确定度。现有的数字图像算法基于霍夫变换在参数空间对水表表盘图像特征进行提取,可以对“一”字形,圆形和椭圆形指针进行准确的几何形态学描绘。但是对于常见的锯齿形指针,三角形指针,以及三角形和圆形组合形态下的水表指针无法进行准确识别,定位;并且传统的数字图像处理流程对图像明暗度有极高要求,一旦采集的图像明暗差异显著,固化的数字图像参数需要人工手动置入,不然无法获取理想的识读效果,并不适合进行产业化应用和推广。
技术实现思路
[0004]为了解决现有机械水表检定过程中表盘人工读数带来的弊端,本专利技术提出了一种基于机器视觉的水表自动读数方法,是基于数字图像处理的水表智能识读方案,为水表检定工作提供及时并且准确的水表表盘数据。
[0005]本专利技术采用了基于机器视觉的水表示数识读方法,将摄像头固定在水表上端,开机以后便对水表表盘的数字图像进行捕捉,将捕获的数字图像传输回监控主机,监控主机调用数字图像处理算法对采集的数字图像进行处理,获取实时的水表读数,再将读数传输至计算机进行数据处理。
[0006]为了实现上述功能,采用了如下的技术方案:
[0007]步骤a,对水表表盘数字图像进行捕获,并对图像的大小和分辨率进行初始化。对图像进行调整的方法为:
[0008]i2=ImageReSize(i1,(Length,Height))
[0009]其中,i1为从摄像头捕获的水表表盘原始图像,i2为调整完大小和分辨率的输出图像,ImageReSize为图像初始化函数,Length为图像初始化宽度,Height为图像初始化高度。
[0010]步骤b,对水表表盘的红色指针区域进行提取,并将相应区域进行人工调色。
[0011]一般的彩色图像为三原色(RGB),将图像分为:RED(红色)、GREEN(绿色)和BLUE(蓝色),当某像素点的三种颜色矩阵满足如下公式所示的情况,该像素点肉眼可见显示红色,即红色提取的方式依据:
[0012]RED
‑
GREEN>FingerRecPar
[0013]RED
‑
BLUE>FingerRecPar
[0014]其中,RED为选定像素点的红色矩阵分量,GREEN为选定像素点的绿色矩阵分量,BLUE为选定像素点的蓝色矩阵分量,FingerRecPar为特征系数。
[0015]若某像素点满足该公式要求,即将该像素点进行人为上色:
[0016]Pic.at<Vec3b>(i,j)[0]=255;
[0017]Pic.at<Vec3b>(i,j)[1]=255;
[0018]Pic.at<Vec3b>(i,j)[2]=255;
[0019]其中,Pic.at<Vec3b>(i,j)[0]为像素点的红色分量,Pic.at<Vec3b>(i,j)[1]为像素点的绿色分量,Pic.at<Vec3b>(i,j)[2]为像素点的蓝色分量。
[0020]其中,255为像素点可调色度上限。经过人工调色以后,红色像素点全部人工肉眼可视赋予白色,完成与其他颜色像素之间的图像分割。
[0021]步骤c,对人工调色后的图像进行灰度处理,得到灰度图像。
[0022]步骤d,对灰度图像进行自适应二值化处理,得到二值化图像。
[0023]步骤e,对获取的二值化图像进行几何形态学上的膨胀处理,具体方法如下:
[0024]i
5=
Dilation(i4,element)
[0025]其中,Dilation为膨胀函数,element为几何形态学算子,i5为经过膨胀输出的图像,i4为二值化图像。
[0026]步骤f,对处理之后的二值化图像进行边缘轮廓的提取,具体方法如下:
[0027]i6=Cannion(i5,125,200,3,0)
[0028]其中,Cannion为边缘轮廓提取函数,i6为边缘轮廓提取之后的图像。
[0029]通过计算二值图像x和y方向的一阶导数,组成四个方向导数。通过方向导数计算局部最大值的像素点构成图像的边缘轮廓。
[0030]通过双阈值法检测和连接边缘像素点,设置低阈值参数为125,高阈值参数为200,如果像素点的梯度大于高阈值参数则接受其为边缘轮廓像素点,低于低阈值参数则放弃,介于二者之间但是连接到了高阈值的像素点则接受。Sobel核大小为:3*3,进行高斯滤波。0代表不计算图像的梯度幅度。
[0031]步骤g,计算各边缘轮廓的中心点,通过累加计算各边缘轮廓点坐标的x轴数据,累加计算各边缘轮廓坐标的y轴数据,计算出均值坐标:f(x,),即为边缘轮廓的中心点坐标。
[0032]步骤h,计算中心点坐标与各边缘轮廓点坐标的距离,获取距离最大的点的坐标,再连接两坐标即为指针指向。
[0033]绘制距离最大点坐标与中心点坐标之间的指针,通过如下函数实现:
[0034]i7=DrawLine(i6,(x,y),(x1,y1),(0.255.0))
[0035]其中,i7为绘制指针之后的输出图像,DrawLine为指针绘制函数,(x,y)为直线起点坐标,(x1,y1)为直线终点坐标,(0.255.0)定义了直线的颜色。
[0036]步骤i,通过指针指向与垂直方向的夹角确定指针指向的数字区域。再根据指针所在的流量单位进行乘积运算获得累积值A。
[0037]步骤j,通过模板识别匹配获得一组累积值B。通过如下函数进行实现:
[0038]B=PicNum(i2,(tg1,tg2),(tg3,tg4))
[0039]其中,B为识别字轮获得的水表机械累积数,i2为经过初始化的数字图像。(tg1,tg2),(tg3,tg4)为圈定字轮所在数字图像区域的左上角和右下角矩形框坐标。
[0040]步骤k,通过A与B的叠加获取水表面板的实时读数。
[0041]本专利技术有益效果:本专利技术集成了计算机技术和数字图像处理技术,能够有效准确的进行水表表盘示数的识读,并且有效减少人工检测所产生的工作量,具体的:本专利技术通过RGB颜色空间直接锁定红色指针区域,并进行几何形态学描绘,避免了使用传统霍夫变换方法,以及人工输入大量检测参数。通过RGB颜色空间直接锁定可以忽略水表指针几何本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于机器视觉的水表自动读数方法,其特征在于包括如下步骤:步骤a,对水表表盘数字图像进行捕获,并对水表表盘数字图像的大小和分辨率进行初始化调整;步骤b,对水表表盘的红色指针区域进行提取,并将相应区域进行人工调色;红色提取的方式依据如下公式:RED
‑
GREEN>FingerRecParRED
‑
BLUE>FingerRecPar其中,RED为选定像素点的红色矩阵分量,GREEN为选定像素点的绿色矩阵分量,BLUE为选定像素点的蓝色矩阵分量,FingerRecPar为特征系数;若某像素点满足上述公式要求,即将该像素点进行人工上色:Pic.at<Vec3b>(i,j)[0]=255Pic.at<Vec3b>(i,j)[1]=255Pic.at<Vec3b>(i,j)[2]=255其中,Pic.at<Vec3b>(i,j)[0]为像素点的红色分量,Pic.at<Vec3b>(i,j)[1]为像素点的绿色分量,Pic.at<Vec3b>(i,j)[2]为像素点的蓝色分量,255为像素点调色度上限;经过人工调色以后,红色像素点全部赋予白色,完成与其它颜色像素点之间的图像分割;步骤c,对人工调色后的图像进行灰度处理,得到灰度图像;步骤d,对灰度图像进行自适应二值化处理,得到二值化图像;步骤e,对二值化图像进行几何形态学上的膨胀处理;步骤f,对处理之后的二值化图像进行边缘轮廓的提取,具体算法如下:i6=Cannion(i5,125,200,3,0)其中,Cannion为边缘轮廓提取函数,i6为边缘轮廓提取之后的图像,125为低阈值参数,高阈值参数为200,Sobel核大小为3*3,进行高斯滤波,0代表不计算图像的梯度幅度;通过计算二值化图像x和y方向的一阶导数,组成四个方向导数,由方向导数计算局部最大值的像素点,通过双阈值法检测和连接边缘像素点;步骤g,计算各边缘轮廓的中心点:通过累加计算各边缘轮廓点坐标的x轴和y轴数据,计算出均值坐标,即为边缘轮廓的中心点坐标;步骤h,计算中心点坐标与各边缘轮廓点坐标的距离,获取距离最大的点的坐标,再连接两坐标...
【专利技术属性】
技术研发人员:方之愉,张宁宁,吴晓杰,陈果夫,方艳,耿雪梅,
申请(专利权)人:浙江省计量科学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。