【技术实现步骤摘要】
基于刻度查找的指针式仪表读数自动识别方法
本专利技术涉及图像处理领域,具体涉及一种基于刻度查找的指针式仪表读数自动识别方法。
技术介绍
现代工业生产中广泛存在着各式各样的监控仪表,它们指示生产中各环节的状态,在保证生产有序高效地进行中起到了不可或缺的作用。目前常见的仪表有指针式仪表和数字式仪表两种,指针式仪表由于具有抗电磁干扰、抗震、耐油污等特点,在矿井、采油、电力、计量、军工等领域广泛应用。另外由于防冻防水、价格低廉等原因,在制造业、能源化工领域仍存在大量的指针式仪表。为了监控监测当前生产状态及系统异常等信息,需要获取各种仪表的读数。传统的人工判读方法不仅存在低效率、管理困难和实时性差等问题,由于有人的参与,因此难以避免会受到各种人为因素的干扰,例如人眼视觉对表盘观测角度的问题、人员本身的视觉疲劳问题、观测距离造成的误差以及光照对指针的影响所造成偏差等。为了解决以上问题,已有不少借助计算机图像处理进行指针式仪表读数自动识别的方法提出。传统技术存在以下技术问题:现有的技术大多通过获取转动中心、检测指针并计算指针与零刻度线的夹角、根据角度比例关系计算指针式仪表读数。这将带来以下几个问题:第一,其计算读数的方式决定了其只能用于均匀刻度的仪表,对于非均匀刻度的仪表不适用;第二,对于指针转动中心不明显的仪表不适用;第三,需要人工提供大量先验知识,如零刻度线位置、最大量程、最大量程对应的角度等,有些还要提前做好模板,部署繁琐且工作量大。相关技术1:专利“变电站宽刻度指针式仪表自动识别方法”,申请号201810207331.0。该专利技术专利涉及一种变电站款刻度指针式 ...
【技术保护点】
1.一种基于刻度查找的指针式仪表读数自动识别方法,其特征在于,包括:S1:获取包含待识别读数的指针式仪表表盘的图像。S2:利用训练好的目标检测网络对S1中所的图像进行检测,获得仪表表盘区域的顶点坐标,并提取该区域作为表盘图像,缩放至统一大小;S3:对表盘图像进行灰度化、图像滤波、细节增强及二值化等预处理操作,得到只有前景和背景的表盘二值化图像;S4:利用累计概率霍夫变换检测表盘二值化图像中的线段,取最长线段作为指针,且判断指针始末端点;S5:利用自适应刻度查找算法,根据指针末端点位置,对表盘二值化图像查找表盘刻度,得到表盘所有刻度位置;S6:利用候选目标查找、候选目标筛选、单数字识别和数字组合的方法,对表盘二值化图像识别刻度标度;S7:利用刻度数值推断算法,根据S6识别出的刻度标度,计算出S5查找到的所有刻度所代表的值;S8:根据指针末端点位置及其两端最近刻度,计算仪表读数。
【技术特征摘要】
1.一种基于刻度查找的指针式仪表读数自动识别方法,其特征在于,包括:S1:获取包含待识别读数的指针式仪表表盘的图像。S2:利用训练好的目标检测网络对S1中所的图像进行检测,获得仪表表盘区域的顶点坐标,并提取该区域作为表盘图像,缩放至统一大小;S3:对表盘图像进行灰度化、图像滤波、细节增强及二值化等预处理操作,得到只有前景和背景的表盘二值化图像;S4:利用累计概率霍夫变换检测表盘二值化图像中的线段,取最长线段作为指针,且判断指针始末端点;S5:利用自适应刻度查找算法,根据指针末端点位置,对表盘二值化图像查找表盘刻度,得到表盘所有刻度位置;S6:利用候选目标查找、候选目标筛选、单数字识别和数字组合的方法,对表盘二值化图像识别刻度标度;S7:利用刻度数值推断算法,根据S6识别出的刻度标度,计算出S5查找到的所有刻度所代表的值;S8:根据指针末端点位置及其两端最近刻度,计算仪表读数。2.如权利要求1所述的基于刻度查找的指针式仪表读数自动识别方法,其特征在于,所述S3中进行预处理时,包含以下步骤:S31:灰度化,采用加权平均法,对原RGB三通道彩色图像的每一个像素(R(x,y),G(x,y),B(x,y)),灰度图相应的像素灰度值gray(x,y)由以下公式确定:gray(x,y)=0.299·R(x,y)+0.578·G(x,y)+0.114·B(x,y)S32:图像滤波,采用高斯滤波算法。高斯算子平滑模板大小为(g_size*g_size),权值由下式给出:式中σ为方差,方差越大图像越模糊。滤波后图像点(x0,y0)的值由下式算出:其中S33:细节增强,采用形态学黑帽操作,其结构元素采用blk_size*blk_size的矩形核,公式如下:其中,h为黑帽操作后的图像,f为黑帽操作前的图像,b为结构元素,表示膨胀,表示腐蚀。S34:二值化,采用高斯分布加权的局部阈值法,其高斯模板大小为bin_size*bin_size,二值化后的图像dst与二值化前的图像src之间的关系如下:其中T为比较阈值,对于每个像素点(x0,y0),其比较阈值T由下式决定:式中g(x,y)为高斯函数,如上式(1),D为点集,如上式(2),C为常数。3.如权利要求1所述的基于刻度查找的指针式仪表读数自动识别方法,其特征在于,所述S4中查找指针并确定指针始末端的算法,步骤如下:S41:给定累计概率霍夫变换的参数,距离分辨率rho,角度分辨率theta,累加器阈值threshold,最短线段长度minLineLength及最大线段间距maxLineGap,利用累计概率霍夫变换查找表盘二值化图像中的线段,其端点坐标(x1,y1,x2,y2)存入列表pin_list;S42:对pin_list中的每一条线段,用以下公式计算其长度length:S43:保留最长的线段作为指针线段pin,其端点坐标为(xp1,yp1,xp2,yp2);S44:判断指针pin的始末端点,步骤如下:S441:取表盘区域图像中心(IMG_SIZE/2,IMG_SIZE/2),利用上式(3)分别计算其与点(xp1,yp1)和点(xp2,yp2)的距离;S442:与图像中心距离短的点确定为始端点(xp2,yp2),与图像中心距离远的点确定为末端点(xp1,yp1)。4.如权利要求1所述的基于刻度查找的指针式仪表读数自动识别方法,其特征在于,所述S5中自适应刻度查找算法,步骤如下:S51:设置查找方向标记dir为顺时针(CW);S52:初始化矩形搜索框长为l,宽为w,中心c(x0,y0)位于指针末端点,旋转角度α为指针的旋转角度,尝试次数m=0,指定最大尝试次数M和单次步长s,其中指针旋转角度按下式计算:S53:矩形搜索框按当前旋转角度α的法线方向平移s,即其中心c按以下公式更新:S54:给定累计概率霍夫变换(PPHT)的参数,距离分辨率rho,角度分辨率theta,累加器阈值threshold,最短线段长度minLineLength及最大线段间距maxLineGap。利用PPHT检测搜索框的直线段。若为空,则m+=1,若m>M,则退出,否则重新返回S53;若检测直线段不为空,清空尝试次数m=0,进入S55;S55:利用公式(3)计算线段长度,取检测结果中最长的线段,记录端点信息;S56:利用公式(4)计算线段旋转角度,更新搜索框旋转角度α为该线段旋转角度,同时搜索框长l+=1;S57:利用PPHT检测搜索框的直线段。若为空,取上次记录作为该刻度最终结果,返回S53;若不为空,利用公式(3)计算检测结果中所有线段的长度,若最大值比上次搜索结果大,返回S56继续查找,否则取上次记录作为该刻度最终结果,返回S53。上述步骤为顺时针(CW)查找刻度的算法,若要逆时针查找,只需在S51把查找方向dir标记为逆时针(CCW)。5.如权利要求1所述的基于刻度查找的指针式仪表读数自动识别方法,其特征在于,对于S6所述识别刻度标度,具体步骤如下:S61:候选目标查找,采用连通域分析的方法,并根据目标矩形框长宽比、连通区域密度等条件锁定候选目标,步骤如下:S611:采用两步法(two-pass)分析表盘二值图像中所有的连通区域,用最小外接矩...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。