CN109740616A - 一种利用计算机视觉实现双指针仪表自动读数的方法 - Google Patents
一种利用计算机视觉实现双指针仪表自动读数的方法 Download PDFInfo
- Publication number
- CN109740616A CN109740616A CN201910008584.XA CN201910008584A CN109740616A CN 109740616 A CN109740616 A CN 109740616A CN 201910008584 A CN201910008584 A CN 201910008584A CN 109740616 A CN109740616 A CN 109740616A
- Authority
- CN
- China
- Prior art keywords
- point
- instrument
- pixel
- read
- pointer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
Abstract
本发明提出了一种利用计算机视觉实现双指针仪表自动读数的方法。首先定义三维数组,然后基于待读数仪表表盘的边界,确定待读数仪表表盘边界的方程,进而确定待读数仪表表盘的范围。根据表盘范围以及顶点与指针、刻度之间的相对位置关系,划定指针和刻度的坐标范围。然后,在划定的范围内确定坐标值,建立待读数仪表盘模型,最后自动计算出读数。本发明提高了粗指针的读数精度,当出现仪表不完整的情况时,可以根据待读数仪表盘边界上的任意点,估计仪表刻度、指针指向位置和指针在表盘上的固定位置的大致坐标范围、构建仪表盘读数模型、准确读取双指针仪表的读数,具有操作简单、读数速度快、精度高的特点。
Description
技术领域
本发明涉及计算机视觉应用技术领域,具体提供了一种利用计算机视觉实现双指针仪表自动读数的方法。
背景技术
随着工业化和信息化的快速发展,工业生产规模不断扩大,各种精密仪表的数量也急剧增加,如电流表、电压表、温度表和湿度表等。如何快速、准确地获取这些仪表的读数成为工业生产中亟需解决的问题。由于指针式仪表具有抗震、耐高压、防腐蚀、防电磁干扰等特点,因此,在未来很长一段时间内,指针式仪表仍将是工业生产中采用的主要测量仪表。但是,由于指针式仪表需要人工方式来读数,某些应用场合的环境可能会对人造成危险,而且工作强度较大。另一方面,由于人眼容易疲劳,会影响读数的可靠性,造成读数不准确,严重影响工业生产效率。
目前,计算机视觉技术已经在工业、农业、医疗和航天等领域得到了广泛应用,产生了一大批相关产品,推动了相关产业的发展。利用计算机视觉技术自动读取仪表数值具有精度高、连续性强、自动化程度高等诸多特点。在一些危险的工作环境或人工巡检方式难以满足要求的条件下,运用计算机视觉技术能够很好地替代人工读数。通过运用计算机视觉技术,可以系统地实现指针式仪表表盘图像的自动采集、分析与处理,也可以利用在线数据采集系统实现数据的存储与信息共享,降低在数据采集及信息处理过程中的人工成本和人为误差,提高信息采集的实时性和准确度。
指针式仪表自动读数技术包括四个过程:图像预处理、形态学处理、指针检测和自动读数。关键在于指针检测,目前常用的指针检测算法有剪影法、模板匹配法、中心投影法和距离判别法等。通过检测指针在表盘上的位置,结合表盘模型,可实现自动读数,此方法需要事先获取背景图像,且对图像采集环境要求严格,适应性与实时性较差。现有的针对指针式仪表的读数方法主要用于单指针仪表读数,对于指针较粗的情况存在精度误差。并且在实际应用中,由于拍摄的仪表不完整,如仪表边缘被遮挡或者部分刻度被遮挡,会出现无法读数的情况。
发明内容
针对以上缺点,本发明实施例提出了一种利用计算机视觉实现双指针仪表自动读数的方法,提高了粗指针的读数精度,同时解决了当仪表出现不完整时,构建仪表盘读数模型,准确读取双指针仪表的读数。
一种利用计算机视觉实现双指针仪表自动读数的方法,包括以下步骤:
S1:定义三维数组;
S2:基于待读数仪表表盘的边界,确定待读数仪表表盘边界的直线方程或曲线方程,进而确定待读数仪表表盘的范围;
S3:根据待读数仪表表盘的范围,确定待读数仪表中第一测量项的最小刻度位置S[1]和最大刻度位置S[2]的像素坐标范围;确定待读数仪表中第二测量项的最小刻度位置S[3]和最大刻度位置S[4]的像素坐标范围;确定待读数仪表中当前第一测量项的第一指针指向位置A[1]的像素坐标范围和待读数仪表中当前第二测量项的第二指针指向位置A[2]的像素坐标范围;确定待读数仪表中第一测量项第一指针在表盘上的固定位置R[2]的像素坐标范围和待读数仪表中第二测量项第二指针在表盘上的固定位置R[1]的像素坐标范围;
S4:根据S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标范围,确定S[1]S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值;
S5:根据S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值,建立待读数仪表的仪表盘模型;所述仪表盘模型包括第一测量项仪表盘模型和第二测量项仪表盘模型;
S6:根据待读数仪表的仪表盘模型,计算出所述当前第一测量项的第一指针读数M和当前第二测量项的第二指针的读数N。
进一步的,在步骤S1中,所述三维数组的行大小等于所述待读数仪表图像的高度;所述三维数组的宽大小等于所述待读数仪表图像的宽度;所述三维数组的高大小等于所述待读数仪表图像的深度;所述待读数仪表图像的深度等于3。
进一步的,在步骤S2中,所述待读数仪表表盘的边界位于待读数仪表表盘的内边界和外边界中间;所述待读数仪表表盘的边界优选矩形。
进一步的,步骤S2包括:
确定待读数仪表表盘的矩形上边界的两个点P[1]和P[2],进而确定P[1]和P[2]所在的第一直线方程;确定待读数仪表表盘的矩形下边界的两个点P[3]和P[4],进而确定P[3]和P[4]所在的第二直线方程;确定待读数仪表表盘的矩形左边界的两个点P[5]和P[6],进而确定P[5]和P[6]所在的第三直线方程;确定待读数仪表表盘的矩形右边界的两个点P[7]和P[8],进而确定P[7]和P[8]所在的第四直线方程;
第一直线方程与第三直线方程相交于点H[1],第一直线方程与第四直线方程相交于点H[2],第二直线方程与第三直线方程相交于点H[3],第二直线方程与第四直线方程相交于点H[4];H[1]、H[2]、H[3]、H[4]以及第一直线方程、第二直线方程、第三直线方程和第四直线方程组成的封闭区域即为所述待读数仪表表盘的范围。
进一步的,步骤S3包括:
以H[1]点的像素坐标为(Hx,Hy)作为参考点,则所述S[1]点的像素坐标范围为以点(Hx+97,Hy+660)和点(Hx+263,Hy+970)为对角线的第一矩形范围;所述S[2]点的像素坐标范围为以点(Hx+500,Hy+80)和点(Hx+680,Hy+200)为对角线的第二矩形范围;所述S[3]点的像素坐标范围为以点(Hx+660,Hy+80)和点(Hx+920,Hy+240)为对角线的第三矩形范围;所述S[4]点的像素坐标范围为以点(Hx+1020,Hy+690)和点(Hx+1320,Hy+810)为对角线的第四矩形范围;
以H[1]点的像素坐标为(Hx,Hy)作为参考点,则所述R[1]点的像素坐标范围为以点(Hx+300,Hy+680)和点(Hx+530,Hy+920)为对角线的第五矩形范围;所述R[2]点的像素坐标范围为以点(Hx+800,Hy+680)和点(Hx+1040,Hy+920)为对角线的第六矩形范围。
进一步的,步骤S4包括:
分别在S[1]、S[2]、S[3]和S[4]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为S[1]、S[2]、S[3]和S[4]点的坐标;所述条件为在白像素点的附近取红色像素点,且由红色像素点向左、向上、向上和向右延伸的白色像素点大于P个;所述P等于40;
分别在A[1]和A[2]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为A[1]和A[2]点的坐标;所述条件为在白像素点的附近取红色像素点,所述红色像素点附近有黄色像素点或者绿色像素点。
进一步的,步骤S3还包括:
以点S[1]和S[2]的坐标为参考点,线段连接点S[1]和S[2],以S[1]S[2]为对角线,确定第七矩形范围,所述第七矩形范围为点A[1]像素坐标范围;
以点S[3]和S[4]的坐标为参考点,线段连接点S[3]和S[4],以S[3]S[4]为对角线,确定第八矩形范围,所述第八矩形范围为点A[2]像素坐标范围。
进一步的,步骤S4还包括:
分别在R[1]和R[2]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为R[1]和R[2]点的坐标;所述条件为以任一像素点为圆心,M为半径,所述像素点的上下左右的四个像素点均为白色的像素点;所述M的范围为[26,30]。
进一步的,步骤S5包括:
线段连接点S[1]和点R[2]、线段连接点S[2]和点R[2]以及线段连接点A[1]和点R[2],根据R[2]S[1]和R[2]S[2]之间的夹角,以及R[2]A[1]和R[2]S[2]之间的夹角,建立所述第一测量项仪表盘模型;
线段连接点S[3]和点R[1]、线段连接点S[4]和点R[1]以及线段连接点A[2]和点R[1],根据R[1]S[4]和R[1]S[3]之间的夹角,以及R[1]A[2]和R[1]S[3]之间的夹角,建立所述第二测量项仪表盘模型。
进一步的,在步骤S6中,
所述M的计算公式为:
所述N的计算公式为:
所述Mmax为第一测量项的第一指针的读数最大值;所述Mmin为第一测量项的第一指针的读数最小值;
所述Nmax为第二测量项的第二指针的读数最大值;所述Nmin为第二测量项的第二指针的读数最小值。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明实施例提出了一种利用计算机视觉实现双指针仪表自动读数的方法。首先建立三维数组,基于待读数仪表表盘的边界,确定待读数仪表表盘边界的直线方程或曲线方程,进而确定待读数仪表表盘的范围;根据待读数仪表表盘的范围,确定待读数仪表中第一测量项的最小刻度位置S[1]和最大刻度位置S[2]的像素坐标范围;确定待读数仪表中第二测量项的最小刻度位置S[3]和最大刻度位置S[4]的像素坐标范围;确定待读数仪表中当前第一测量项的第一指针指向位置A[1]的像素坐标范围和待读数仪表中当前第二测量项的第二指针指向位置A[2]的像素坐标范围;确定待读数仪表中第一测量项第一指针在表盘上的固定位置R[2]的像素坐标范围和待读数仪表中第二测量项第二指针在表盘上的固定位置R[1]的像素坐标范围。根据S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标范围,确定S[1]S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值。然后根据S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值,建立待读数仪表的仪表盘模型,进而计算出当前第一测量项的第一指针读数M和当前第二测量项的第二指针的读数N。本发明在确定仪表刻度、指针指向位置、指针在表盘上的固定位置等像素点时,将满足条件的像素点坐标取平均值,提高了粗指针的读数精度;当出现仪表不完整的情况时,本发明可以根据待读数仪表盘边界上的任意点,来估计仪表刻度、指针指向位置和指针在表盘上的固定位置的大致坐标范围,构建仪表盘读数模型,准确读取双指针仪表的读数。本发明提出的双指针仪表读数方法具有操作简单、读数速度快、精度高的特点。
附图说明
图1是本发明实施例1中利用计算机视觉实现双指针仪表自动读数的方法流程图;
图2是本发明实施例1中获取待读数仪表表盘的矩形上边界示意图;
图3是本发明实施例1中获取待读数仪表表盘的矩形下边界示意图;
图4是本发明实施例1中获取待读数仪表表盘的矩形左边界示意图;
图5是本发明实施例1中获取待读数仪表表盘的矩形右边界示意图;
图6是本发明实施例1中待读数仪表盘范围示意图;
图7是本发明实施例1中S点、A点和R点像素坐标估计范围示意图;
图8是本发明实施例1中根据H[1]点获取S点、A点和R点像素坐标范围示意图;
图9是本发明实施例1中根据H[2]点获取S点、A点和R点像素坐标范围示意图;
图10是本发明实施例1中R[1]点估计范围部分放大示意图;
图11是本发明实施例1中在R[1]点估计范围内识别出的白色边缘示意图;
图12是本发明实施例1待读数的仪表盘模型示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
本发明实施例1提供了一种利用计算机视觉实现双指针仪表自动读数的方法。如图1为本发明实施例1中利用计算机视觉实现双指针仪表自动读数的方法流程图;
在步骤S101中,开始处理该流程;
在步骤S102中,定义三维数组,用于存储待读数仪表图像上像素点的RGB色度值;三维数组的行大小等于待读数仪表图像的宽度;三维数组的宽大小等于待读数仪表图像的高度;三维数组的高大小等于待读数仪表图像的深度;待读数仪表图像的深度等于3。
在步骤S103中,基于待读数仪表表盘的边界,确定待读数仪表表盘边界的直线方程或曲线方程,进而确定待读数仪表表盘的范围。在本发明实施例中待读数仪表表盘的边界选矩形,确定待读数仪表表盘的矩形上边界的两个点P[1]和P[2],进而确定P[1]和P[2]所在的第一直线方程;确定待读数仪表表盘的矩形下边界的两个点P[3]和P[4],进而确定P[3]和P[4]所在的第二直线方程;确定待读数仪表表盘的矩形左边界的两个点P[5]和P[6],进而确定P[5]和P[6]所在的第三直线方程;确定待读数仪表表盘的矩形右边界的两个点P[7]和P[8],进而确定P[7]和P[8]所在的第四直线方程;
在步骤S104中,其中第一直线方程与第三直线方程相交于点H[1],第一直线方程与第四直线方程相交于点H[2],第二直线方程与第三直线方程相交于点H[3],第二直线方程与第四直线方程相交于点H[4];H[1]、H[2]、H[3]、H[4]以及第一直线方程、第二直线方程、第三直线方程和第四直线方程组成的封闭区域即为待读数仪表表盘的范围。
在步骤S105中,根据待读数仪表表盘的范围,确定待读数仪表中温度的最小刻度位置S[1]和最大刻度位置S[2]的像素坐标范围;确定待读数仪表中湿度的最小刻度位置S[3]和最大刻度位置S[4]的像素坐标范围;确定待读数仪表中当前温度指针指向位置A[1]的像素坐标范围和待读数仪表中当前湿度指针指向位置A[2]的像素坐标范围;确定待读数仪表中温度指针在表盘上的固定位置R[2]的像素坐标范围和待读数仪表中湿度指针在表盘上的固定位置R[1]的像素坐标范围。
在步骤S106中,根据S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标范围,确定S[1]S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值。
在步骤S107中,根据S[1]S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值,建立待读数仪表的仪表盘模型。
在步骤S108中,根据待读数仪表的仪表盘模型,计算出当前温度指针读数和当前湿度指针的读数。
在步骤S109中,整个流程结束。
本发明实施例1提供了一种利用计算机视觉实现双指针仪表自动读数的方法,首先定义三维数组,然后基于待读数仪表表盘的边界,确定待读数仪表表盘边界的直线方程或曲线方程,进而确定待读数仪表表盘的范围,待读数仪表表盘的边界位于待读数仪表表盘的内边界和外边界中间,包围住所有的待读数仪表表盘的刻度。待读数仪表表盘的边界可以选择矩形、圆形或者多边形。本发明实施例1中优先选用矩形。
首先计算待读数仪表的表盘的矩形边界范围,根据待读数仪表的表盘的矩形边界的四个顶点,以及顶点与指针、刻度之间的相对位置关系,划定指针和刻度的坐标范围。然后,在划定的范围内,分别计算指针在仪表盘上的固定位置坐标,指针当前指向位置坐标,以及温湿度最大刻度和最小刻度的位置坐标,建立待读数仪表盘模型。最后,根据双指针和所对应的温湿度最大、最小刻度之间的夹角,自动读取仪表数值。本发明实施例中采用双指针仪表温湿度仪表进行说明,本发明保护的范围不局限于此,本发明一种利用计算机视觉实现双指针仪表自动读数的方法,还适用于单指针仪表主动读数,例如气压表或者水表等。
首先定义一个三维数组,用于存储待读数仪表图像中每个像素点的红、绿、蓝色度值。三维数组的行大小等于待读数仪表图像的宽度;三维数组的宽大小等于待读数仪表图像的高度;三维数组的高大小等于待读数仪表图像的深度;待读数仪表图像的深度等于3。
通过遍历该三维数组,计算待读数仪表表盘的矩形边界,首先纵向遍历三维数组,确定待读数仪表表盘的矩形上边界的两个点P[1]和P[2],根据如下公式(1)进而计算P[1]和P[2]所在的第一直线方程;
利用该直线方程,即可获取待读数仪表表盘的矩形上边界,如图2所示为本发明实施例1中获取待读数仪表表盘的矩形上边界示意图。
纵向遍历三维数组,确定待读数仪表表盘的矩形下边界的两个点P[3]和P[4],进而确定P[3]和P[4]所在的第二直线方程;根据如下公式(2)进而计算P[3]和P[4]所在的第二直线方程;
利用该直线方程,即可获取待读数仪表表盘的矩形下边界,如图3所示为本发明实施例1中获取待读数仪表表盘的矩形下边界示意图。
横向遍历三维数组,确定待读数仪表表盘的矩形左边界的两个点P[5]和P[6],进而确定P[5]和P[6]所在的第三直线方程;根据如下公式(3)进而计算P[5]和P[6]所在的第三直线方程;
利用该直线方程,即可获取待读数仪表表盘的矩形左边界,如图4所示为本发明实施例1中获取待读数仪表表盘的矩形左边界示意图。
确定待读数仪表表盘的矩形右边界的两个点P[7]和P[8],进而确定P[7]和P[8]所在的第四直线方程;根据如下公式(4)进而计算P[7]和P8]所在的第三直线方程;
利用该直线方程,即可获取待读数仪表表盘的矩形右边界,如图5所示为本发明实施例1中获取待读数仪表表盘的矩形右边界示意图。
在公式(1)、公式(2)、公式(3)和公式(4)中,
x:表示像素点在待读数仪表图像中的横坐标;
y:表示像素点在待读数仪表图像中的纵坐标;
P[i].x:表示像素点P[i]在待读数仪表图像中的横坐标;
P[i].y:表示像素点P[i]在待读数仪表图像中的纵坐标;
第一直线方程与第三直线方程相交于点H[1],第一直线方程与第四直线方程相交于点H[2],第二直线方程与第三直线方程相交于点H[3],第二直线方程与第四直线方程相交于点H[4];H[1]、H[2]、H[3]、H[4]以及第一直线方程、第二直线方程、第三直线方程和第四直线方程组成的封闭区域即为待读数仪表盘的范围。如图6所示本发明实施例1中待读数仪表盘范围示意图。
由于在待读数仪表盘范围中,H[1]、H[2]、H[3]、H[4]的位置与温度最大刻度位置、温度最小刻度位置、温度指针的固定位置、湿度指针的固定位置、当前仪表温度指针指向位置和当前仪表湿度指针指向位置相对固定,因此可以根据H[1]、H[2]、H[3]、H[4]的位置,划定温度最大刻度位置、温度最小刻度位置、温度指针的固定位置、湿度指针的固定位置、当前仪表温度指针指向位置和当前仪表湿度指针指向位置的大概坐标范围。
具体的方法为,以H[1]点的像素坐标为(Hx,Hy),则S[1]点的像素坐标范围为以点(Hx+97,Hy+660)和点(Hx+263,Hy+970)为对角线的矩形范围;S[2]点的像素坐标范围为以点(Hx+500,Hy+80)和点(Hx+680,Hy+200)为对角线的矩形范围;S[3]点的像素坐标范围为以点(Hx+660,Hy+80)和点(Hx+920,Hy+240)为对角线的矩形范围;S[4]点的像素坐标范围为以点(Hx+1020,Hy+690)和点(Hx+1320,Hy+810)为对角线的矩形范围。
以H[1]点的像素坐标为(Hx,Hy),则R[1]点的像素坐标范围为以点(Hx+300,Hy+680)和点(Hx+530,Hy+920)为对角线的矩形范围;R[2]点的像素坐标范围为以点(Hx+800,Hy+680)和点(Hx+1040,Hy+920)为对角线的矩形范围;
对于A[1]和A[2]像素坐标范围的确定,以点S[1]和S[2]的坐标为参考点,线段连接点S[1]和S[2],以S[1]S[2]为对角线,确定第七矩形范围,则第七矩形范围为点A[1]像素坐标范围;以点S[3]和S[4]的坐标为参考点,线段连接点S[3]和S[4],以S[3]S[4]为对角线,确定第八矩形范围,则第八矩形范围为点A[2]像素坐标范围。
如图7所示为本发明实施例1中S点、A点和R点像素坐标估计范围示意图;S[1]表示待读数仪表中温度的最小刻度位置,S[2]表示待读数仪表中温度的最大刻度位置,S[3]表示待读数仪表中湿度的最大刻度位置,S[4]表示待读数仪表中湿度的最小刻度位置,A[1]表示待读数仪表中当前温度指针指向位置,A[2]表示待读数仪表中当前湿度指针指向位置,R[1]表示待读数仪表中湿度指针在表盘上的固定位置,R[2]表示待读数仪表中温度指针在表盘上的固定位置。如图8所示为本发明实施例1中根据H[1]点获取S点、A点和R点像素坐标范围示意图;可以根据H[1]点的坐标,划定S[1]、S[2]、A[1]、A[2]、R[1]、R[2]点的位置范围。在采集仪表图像过程中,可能出现图像不完整,无法获取H[1]点坐标。此时,可以根据H[2]点坐标划定S[1]、S[2]、A[1]、A[2]、R[1]、R[2]点的位置范围,如图9所示为本发明实施例1中根据H[2]点获取S点、A点和R点像素坐标范围示意图;同理,也可以根据H[3]和H[4]点划定S[1]、S[2]、A[1]、A[2]、R[1]、R[2]点的位置范围。
S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标范围确定之后,可以根据其像素坐标范围,确定S[1]S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值。
在S[1]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为S[1]点的坐标;其判断条件为,在白像素点的附近取红色像素点,且由红色像素点向左延伸的白色像素点大于P个;在本发明实施例中,在所选择点位置向外侧延伸的白色像素点个数,取值为40。
在S[2]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为S[2]点的坐标;其判断条件为,在白像素点的附近取红色像素点,且由红色像素点向上延伸的白色像素点大于P个;在本发明实施例中,在所选择点位置向外侧延伸的白色像素点个数,取值为40。
在S[3]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为S[3]点的坐标;其判断条件为,在白像素点的附近取红色像素点,且由红色像素点向上延伸的白色像素点大于P个;在本发明实施例中,在所选择点位置向外侧延伸的白色像素点个数,取值为40。
在S[4]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为S[4]点的坐标;其判断条件为,在白像素点的附近取红色像素点,且由红色像素点向右延伸的白色像素点大于P个,在本发明实施例中,在所选择点位置向外侧延伸的白色像素点个数,取值为40。
在A[1]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为A[1]的坐标;其判断条件为,在白像素点的附近取红色像素点,其红色像素点附近有黄色像素点或者绿色像素点。
在A[2]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为A[2]点的坐标;其判断条件为,在白像素点的附近取红色像素点,其红色像素点附近有黄色像素点或者绿色像素点。
在R[1]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为R[1]点的坐标;如图10所示是本发明实施例1中R[1]点估计范围部分放大示意图。其判断条件为,以任一像素点为圆心,M为半径,其像素点的上下左右的四个像素点均为白色的像素点。在本发明实施例中,M的取值为[26,30];如图11所示为本发明实施例1中在R[1]点估计范围内识别出的白色边缘示意图。
在R[2]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为R[2]点的坐标;其判断条件为,以任一像素点为圆心,M为半径,其像素点的上下左右的四个像素点均为白色的像素点。在本发明实施例中,M的取值为[26,30]。
根据S[1]S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值,建立待读数仪表的仪表盘模型。仪表盘模型包括第一测量项仪表盘模型和第二测量项仪表盘模型;
建议仪表盘模型的方法为:线段连接点S[1]和点R[2]、线段连接点S[2]和点R[2]以及线段连接点A[1]和点R[2],根据R[2]S[1]和R[2]S[2]之间的夹角,以及R[2]A[1]和R[2]S[2]之间的夹角,建立第一测量项仪表盘模型。
线段连接点S[3]和点R[1]、线段连接点S[4]和点R[1]以及线段连接点A[2]和点R[1],根据R[1]S[4]和R[1]S[3]之间的夹角,以及R[1]A[2]和R[1]S[3]之间的夹角,建立第二测量项仪表盘模型。
如图12所示为本发明实施例1待读数的仪表盘模型示意图;根据该模型,通过计算仪表指针和最大最小刻度之间的夹角,即可得到当前当前温度指针读数和当前湿度指针的度数。
温度读数的计算公式如(5)所示,
湿度读数的计算公式如(6)所示,
其中,在公式中,Temp:表示仪表当前温度读数;
Tempmax:表示仪表最大温度读数;
Tempmin:表示仪表最小温度读数;
Hum:表示仪表当前湿度读数;
Hummax:表示仪表最大湿度读数;
Hummin:表示仪表最小湿度读数;
尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。
Claims (10)
1.一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,包括以下步骤:
S1:定义三维数组;
S2:基于待读数仪表表盘的边界,确定待读数仪表表盘边界的直线方程或曲线方程,进而确定待读数仪表表盘的范围;
S3:根据待读数仪表表盘的范围,确定待读数仪表中第一测量项的最小刻度位置S[1]和最大刻度位置S[2]的像素坐标范围;确定待读数仪表中第二测量项的最小刻度位置S[3]和最大刻度位置S[4]的像素坐标范围;确定待读数仪表中当前第一测量项的第一指针指向位置A[1]的像素坐标范围和待读数仪表中当前第二测量项的第二指针指向位置A[2]的像素坐标范围;确定待读数仪表中第一测量项第一指针在表盘上的固定位置R[2]的像素坐标范围和待读数仪表中第二测量项第二指针在表盘上的固定位置R[1]的像素坐标范围;
S4:根据S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标范围,确定S[1]S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值;
S5:根据S[1]、S[2]、S[3]、S[4]、A[1]、A[2]、R[1]和R[2]的像素坐标值,建立待读数仪表的仪表盘模型;所述仪表盘模型包括第一测量项仪表盘模型和第二测量项仪表盘模型;
S6:根据待读数仪表的仪表盘模型,计算出所述当前第一测量项的第一指针读数M和当前第二测量项的第二指针的读数N。
2.根据权利要求1所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,在步骤S1中,所述三维数组的行大小等于所述待读数仪表图像的高度;所述三维数组的宽大小等于所述待读数仪表图像的宽度;所述三维数组的高大小等于所述待读数仪表图像的深度;所述待读数仪表图像的深度等于3。
3.根据权利要求1所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,在步骤S2中,所述待读数仪表表盘的边界位于待读数仪表表盘的内边界和外边界中间;所述待读数仪表表盘的边界优选矩形。
4.根据权利要求1或3所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,步骤S2包括:
确定待读数仪表表盘的矩形上边界的两个点P[1]和P[2],进而确定P[1]和P[2]所在的第一直线方程;确定待读数仪表表盘的矩形下边界的两个点P[3]和P[4],进而确定P[3]和P[4]所在的第二直线方程;确定待读数仪表表盘的矩形左边界的两个点P[5]和P[6],进而确定P[5]和P[6]所在的第三直线方程;确定待读数仪表表盘的矩形右边界的两个点P[7]和P[8],进而确定P[7]和P[8]所在的第四直线方程;
第一直线方程与第三直线方程相交于点H[1],第一直线方程与第四直线方程相交于点H[2],第二直线方程与第三直线方程相交于点H[3],第二直线方程与第四直线方程相交于点H[4];H[1]、H[2]、H[3]、H[4]以及第一直线方程、第二直线方程、第三直线方程和第四直线方程组成的封闭区域即为所述待读数仪表表盘的范围。
5.根据权利要求1所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,步骤S3包括:
以H[1]点的像素坐标为(Hx,Hy)作为参考点,则所述S[1]点的像素坐标范围为以点(Hx+97,Hy+660)和点(Hx+263,Hy+970)为对角线的第一矩形范围;所述S[2]点的像素坐标范围为以点(Hx+500,Hy+80)和点(Hx+680,Hy+200)为对角线的第二矩形范围;所述S[3]点的像素坐标范围为以点(Hx+660,Hy+80)和点(Hx+920,Hy+240)为对角线的第三矩形范围;所述S[4]点的像素坐标范围为以点(Hx+1020,Hy+690)和点(Hx+1320,Hy+810)为对角线的第四矩形范围;
以H[1]点的像素坐标为(Hx,Hy)作为参考点,则所述R[1]点的像素坐标范围为以点(Hx+300,Hy+680)和点(Hx+530,Hy+920)为对角线的第五矩形范围;所述R[2]点的像素坐标范围为以点(Hx+800,Hy+680)和点(Hx+1040,Hy+920)为对角线的第六矩形范围。
6.根据权利要求1所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,步骤S4包括:
分别在S[1]、S[2]、S[3]和S[4]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为S[1]、S[2]、S[3]和S[4]点的坐标;所述条件为在白像素点的附近取红色像素点,且由红色像素点向左、向上、向上和向右延伸的白色像素点大于P个;所述P等于40;
分别在A[1]和A[2]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为A[1]和A[2]点的坐标;所述条件为在白像素点的附近取红色像素点,所述红色像素点附近有黄色像素点或者绿色像素点。
7.根据权利要求5或6所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,步骤S3还包括:
以点S[1]和S[2]的坐标为参考点,线段连接点S[1]和S[2],以S[1]S[2]为对角线,确定第七矩形范围,所述第七矩形范围为点A[1]像素坐标范围;
以点S[3]和S[4]的坐标为参考点,线段连接点S[3]和S[4],以S[3]S[4]为对角线,确定第八矩形范围,所述第八矩形范围为点A[2]像素坐标范围。
8.根据权利要求7所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,步骤S4还包括:
分别在R[1]和R[2]的像素坐标范围内,筛选符合条件的像素点,并将符合条件的像素点坐标取平均值作为R[1]和R[2]点的坐标;所述条件为以任一像素点为圆心,M为半径,所述像素点的上下左右的四个像素点均为白色的像素点;所述M的范围为[26,30]。
9.根据权利要求1或6或8任意一项所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,步骤S5包括:
线段连接点S[1]和点R[2]、线段连接点S[2]和点R[2]以及线段连接点A[1]和点R[2],根据R[2]S[1]和R[2]S[2]之间的夹角,以及R[2]A[1]和R[2]S[2]之间的夹角,建立所述第一测量项仪表盘模型;
线段连接点S[3]和点R[1]、线段连接点S[4]和点R[1]以及线段连接点A[2]和点R[1],根据R[1]S[4]和R[1]S[3]之间的夹角,以及R[1]A[2]和R[1]S[3]之间的夹角,建立所述第二测量项仪表盘模型。
10.根据权利要求1所述的一种利用计算机视觉实现双指针仪表自动读数的方法,其特征在于,在步骤S6中,
所述M的计算公式为:
所述N的计算公式为:
所述Mmax为第一测量项的第一指针的读数最大值;所述Mmin为第一测量项的第一指针的读数最小值;
所述Nmax为第二测量项的第二指针的读数最大值;所述Nmin为第二测量项的第二指针的读数最小值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008584.XA CN109740616B (zh) | 2019-01-04 | 2019-01-04 | 一种利用计算机视觉实现双指针仪表自动读数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008584.XA CN109740616B (zh) | 2019-01-04 | 2019-01-04 | 一种利用计算机视觉实现双指针仪表自动读数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109740616A true CN109740616A (zh) | 2019-05-10 |
CN109740616B CN109740616B (zh) | 2023-01-31 |
Family
ID=66363489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910008584.XA Active CN109740616B (zh) | 2019-01-04 | 2019-01-04 | 一种利用计算机视觉实现双指针仪表自动读数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109740616B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797909A (zh) * | 2020-06-22 | 2020-10-20 | 上海工程技术大学 | 一种基于机器视觉的指针式仪表读数方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2935528A1 (de) * | 1979-03-08 | 1980-09-11 | John Mccormick | Einrichtung zum messen und/oder anzeigen eines elektrischen widerstandswerts |
CN1794358A (zh) * | 2005-11-08 | 2006-06-28 | 张禹超 | 非线性函数关系的机械仪表的表盘面 |
CN106599897A (zh) * | 2016-12-09 | 2017-04-26 | 广州供电局有限公司 | 基于机器视觉的指针式仪表读数识别方法及装置 |
CN107563368A (zh) * | 2017-09-08 | 2018-01-09 | 清华大学 | 双表盘指针式仪表的高精度自动读数装置及方法 |
CN108009535A (zh) * | 2017-11-21 | 2018-05-08 | 武汉中元华电科技股份有限公司 | 一种基于机器视觉的单指针仪表读数方法 |
CN108121985A (zh) * | 2017-11-21 | 2018-06-05 | 武汉中元华电科技股份有限公司 | 一种基于机器视觉的双指针仪表读数方法 |
CN108921176A (zh) * | 2018-06-22 | 2018-11-30 | 河海大学常州校区 | 一种基于机器视觉的指针式仪表定位与识别方法 |
-
2019
- 2019-01-04 CN CN201910008584.XA patent/CN109740616B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2935528A1 (de) * | 1979-03-08 | 1980-09-11 | John Mccormick | Einrichtung zum messen und/oder anzeigen eines elektrischen widerstandswerts |
CN1794358A (zh) * | 2005-11-08 | 2006-06-28 | 张禹超 | 非线性函数关系的机械仪表的表盘面 |
CN106599897A (zh) * | 2016-12-09 | 2017-04-26 | 广州供电局有限公司 | 基于机器视觉的指针式仪表读数识别方法及装置 |
CN107563368A (zh) * | 2017-09-08 | 2018-01-09 | 清华大学 | 双表盘指针式仪表的高精度自动读数装置及方法 |
CN108009535A (zh) * | 2017-11-21 | 2018-05-08 | 武汉中元华电科技股份有限公司 | 一种基于机器视觉的单指针仪表读数方法 |
CN108121985A (zh) * | 2017-11-21 | 2018-06-05 | 武汉中元华电科技股份有限公司 | 一种基于机器视觉的双指针仪表读数方法 |
CN108921176A (zh) * | 2018-06-22 | 2018-11-30 | 河海大学常州校区 | 一种基于机器视觉的指针式仪表定位与识别方法 |
Non-Patent Citations (7)
Title |
---|
LI FANG等: "A coarse-to-fine approach for industrial meter detection and its application", 《2016 IEEE WORKSHOP ON ADVANCED ROBOTICS AND ITS SOCIAL IMPACTS (ARSO)》 * |
张泽坤: "基于深度学习的指针式仪表自动识别读数研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》 * |
李凯南: "基于Hough变换的指针式仪表的自动判读", 《现代电子技术》 * |
李祖胜等: "基于数字图像处理技术的双指针机械仪表读数自动识别方法", 《长江大学学报(自科版)》 * |
王朋等: "基于URQ模型的I帧码率控制", 《应用科学学报》 * |
肖文武: "指针式仪表检测技术研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
齐淑雯等: "基于ZS细化改进算法的仪表盘指针读数方法", 《中国计量大学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797909A (zh) * | 2020-06-22 | 2020-10-20 | 上海工程技术大学 | 一种基于机器视觉的指针式仪表读数方法 |
CN111797909B (zh) * | 2020-06-22 | 2024-03-29 | 上海工程技术大学 | 一种基于机器视觉的指针式仪表读数方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109740616B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659636B (zh) | 基于深度学习的指针式仪表读数识别方法 | |
CN103575227B (zh) | 一种基于数字散斑的视觉引伸计实现方法 | |
CN101424520B (zh) | 物件曲面的局部轮廓检测方法 | |
CN109242912A (zh) | 采集装置外参标定方法、电子设备、存储介质 | |
CN105300482B (zh) | 基于图像处理的水表检定方法、装置及系统 | |
CN106599897A (zh) | 基于机器视觉的指针式仪表读数识别方法及装置 | |
CN102727194B (zh) | 一种脑电电极空间定位系统和定位方法 | |
CN109323650A (zh) | 视觉图像传感器与点光测距传感器测量坐标系的统一方法 | |
CN102313607B (zh) | 一种示温漆温变颜色的自动识别方法 | |
CN109297436A (zh) | 双目线激光立体测量基准标定方法 | |
CN110009667A (zh) | 基于罗德里格斯变换的多视点云全局配准方法 | |
CN101750030A (zh) | 曲面检测系统及方法 | |
CN103954220B (zh) | 撞桥试验中船体运动状态数字图像测量方法 | |
CN110287887A (zh) | 一种刻度识别方法、装置及计算机存储介质 | |
CN104315998B (zh) | 一种基于深度图像和方位角的门开度判断方法 | |
CN106175676A (zh) | 成像光线空间追踪舌面彩色三维成像方法和系统 | |
CN109579827A (zh) | 一种基于弧形阵列的磁性目标探测和定位方法 | |
CN109740616A (zh) | 一种利用计算机视觉实现双指针仪表自动读数的方法 | |
CN109100112B (zh) | 一种基于计算机视觉的气弹模型风洞试验平面风振响应测试方法 | |
CN110260832A (zh) | 一种起重机幅度测量方法 | |
CN103040471B (zh) | 一种奶牛体型线性鉴定指标获取系统及方法 | |
CN106323587B (zh) | 机翼风洞试验模型弹性变形的单目视频高精度测量方法 | |
CN112990190A (zh) | 指针式仪表读数的识别方法、装置 | |
CN109458955B (zh) | 基于平面度约束的离轴圆条纹投影测量零相位点求解方法 | |
CN111981983A (zh) | 一种复杂形貌物体三维测量的扫描仪精度评价方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |