CN110378326B - 一种机械式指针压力表读数识别方法 - Google Patents

一种机械式指针压力表读数识别方法 Download PDF

Info

Publication number
CN110378326B
CN110378326B CN201910607887.3A CN201910607887A CN110378326B CN 110378326 B CN110378326 B CN 110378326B CN 201910607887 A CN201910607887 A CN 201910607887A CN 110378326 B CN110378326 B CN 110378326B
Authority
CN
China
Prior art keywords
sequence
coordinate
dial
angle
scale
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.)
Active
Application number
CN201910607887.3A
Other languages
English (en)
Other versions
CN110378326A (zh
Inventor
陈龙
吴振谦
俞牡丹
蒋志迪
曹士杰
仇璐
赵辛东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan Borui Fluid Equipment Co ltd
Original Assignee
College of Science and Technology of Ningbo University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by College of Science and Technology of Ningbo University filed Critical College of Science and Technology of Ningbo University
Priority to CN201910607887.3A priority Critical patent/CN110378326B/zh
Publication of CN110378326A publication Critical patent/CN110378326A/zh
Application granted granted Critical
Publication of CN110378326B publication Critical patent/CN110378326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种机械式指针压力表读数识别方法,通过图像滤波和二值化处理之后,通过两次Hough变换获得较为精确的仪表表盘中心坐标,在提取表盘轮廓后,对轮廓坐标组进行极坐标变换,而后以仪表表盘中心坐标为圆心,进行刻度搜索识别,获取表盘刻度区域,并在刻度识别结果区域进行刻度标定,获得标定后的关于角度和刻度的二维向量,将刻度识别问题转换为了二维向量处理问题,随后构建标准刻度向量,便以计算角度和刻度的二维识别向量和标准刻度向量的距离,在两向量距离最小值处,就是标准刻度的起始和终点位置,并采用求取刻度环内部圆环灰度均值最小值的方法求取指针位置;优点是实现机械式指针压力表读数的自动识别,保证读数准确性。

Description

一种机械式指针压力表读数识别方法
技术领域
本发明涉及一种压力表读数识别方法,尤其是涉及一种机械式指针压力表读数识别方法。
背景技术
基于波登管的机械式指针压力表主要用于测量0.06至700MPa的表压。该机械式指针压力表通过将波登管的弹性形变转换为旋转运动,引起指针偏转来指示压力。该机械式指针压力表结构简单,疲劳强度高,成本低廉且工作时无需电源,在工业生产和生活中得到了广泛的应用。
目前,机械式指针压力表在加测压力后,其表盘所显示的读数都是通过工作人员肉眼来识别的,读数准确性难以保证。
发明内容
本发明所要解决的技术问题是提供一种可以保证读数准确性的机械式指针压力表读数识别方法。
本发明解决上述技术问题所采用的技术方案为:一种机械式指针压力表读数识别方法,包括以下步骤:
(1)通过摄像头拍摄机械式指针压力表的原始彩色图像;
(2)从原始彩色图像中获取机械式指针压力表的表盘图像,具体过程为:
2.1将原始彩色图像进行灰度化处理,得到初始灰度图像;
2.2对初始灰度图像依次进行高斯滤波和中值滤波处理,得到中间灰度图像;
2.3构建二维坐标系,将中间灰度图像置于该二维坐标系中;
2.4将Hough变换的输入参数范围设定为FH"*fH"*1.1-FH"*fH"*0.90,其中FH"取值为摄像头拍摄图像的宽度分辨率,即宽度像素数,fH"取值范围为0.5-0.9,该参数根据具体拍摄场景焦距进行人工调节,*为乘运算符号,应用Hough变换在中间灰度图像中搜索到圆形,并获取搜索到的圆形的半径和圆心坐标,将其半径记为R0,将其圆心坐标记为(x0,y0),在二维坐标系中,以(x0-1.1*R0,y0-1.1*R0)作为起点坐标,以(x0+1.1*R0,y0+1.1*R0)作为终点坐标,在中间灰度图像中绘制以坐标点(x0,y0)为中心,包围Hough变换在中间灰度图像中搜索到的圆形的正方形区域,将该正方形区域内的图像作为机械式指针压力表的表盘图像,记为表盘图像Igu
2.5将中间灰度图像中表盘图像Igu以外的区域去除,得到位于二维坐标系中的完全表盘图像I′gu,完全表盘图像I′gu为正方形;
(3)在完全表盘图像I′gu中确定机械式指针压力表的表盘中心点的坐标,具体方法为:将Hough变换的输入参数范围定为rp*1.1-rp*0.90,其中rp取值范围为450-600,应用Hough变换在完全表盘图像I′gu中再次搜索到圆形,获取搜索到的圆形的圆心在二维坐标系中的坐标,将其记为(xc,yc),(xc,yc)即为机械式指针压力表的表盘中心点的坐标;
(4)查找表盘轮廓及对查找到的表盘轮廓进行处理,具体步骤为:
4.1采用图像边缘提取方法在完全表盘图像I′gu中提取表盘边界轮廓点,将第T次提取得到的表盘边界轮廓点在二维坐标系中的坐标记为(xbT,ybT),T=1,2,...,N,N为图像边缘提取方法自动识别提取的表盘边界轮廓点的数量;
4.2采用提取得到的N个表盘边界轮廓点坐标构建表盘边界轮廓点坐标序列,将表盘边界轮廓点坐标序列记为{(xbT,ybT)},(xbT,ybT)为表盘边界轮廓点坐标序列中第T个表盘边界轮廓点坐标;
4.3以坐标点(xc,yc)为圆心,N个表盘边界轮廓点构成的圆形为钟表面,以该钟表面的6点时钟方向为0度起始角,建立极坐标系;
4.4将表盘边界轮廓点坐标序列{(xbT,ybT)}中每个表盘边界轮廓点坐标转换为极坐标,得到轮廓极坐标序列,将得到的轮廓极坐标序列记为{(rbTbT)},(rbTbT)为(xbT,ybT)对应转换得到的极坐标,(rbTbT)为轮廓极坐标序列中第T个极坐标,采用公式(1)计算得到半径坐标rbT,采用公式(2)计算得到角坐标θbT
Figure GDA0003114975080000031
Figure GDA0003114975080000032
其中,θbT的单位为度,arcsin为反正弦函数符号,*为乘运算符号,π为圆周率,/为除运算符号;
4.5对轮廓极坐标序列{(rbTbT)}进行迭代重构,具体过程为:
4.5.1制定轮廓极坐标序列重构规则:从当前轮廓极坐标序列中第1个极坐标开始,将后一个极坐标的角坐标与前一个极坐标的角坐标进行比较,直至最后一个极坐标与其前一个极坐标比较完成:如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差小于0.5,则从当前轮廓极坐标序列中将后一个极坐标删除,对轮廓极坐标序列进行更新,将更新后的轮廓极坐标序列作为当前轮廓极坐标序列继续进行重构;如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差大于等于0.5且小于1,则不做处理,进入下一次的比较;如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差大于等于1,则在这两个极坐标中插入一个新的极坐标,插入的极坐标的半径坐标等于前一个极坐标的半径坐标,插入的极坐标的角坐标等于这两个极坐标的角坐标之和的一半,得到更新后的轮廓极坐标序列,将更新后的轮廓极坐标序列作为当前轮廓极坐标序列继续进行重构;
4.5.2按照轮廓极坐标序列重构规则完成对轮廓极坐标序列{(rbTbT)}进行的迭代重构,得到重构后的轮廓极坐标序列,将重构后的轮廓极坐标序列记为{(r′bi,θ′bi)},(r′bi,θ′bi)为重构后的轮廓极坐标序列中第i个极坐标,i=1,2,...,N′,N′为重构后的轮廓极坐标序列中极坐标的数量,r′bi为重构后的轮廓极坐标序列中第i个极坐标的半径坐标,θ′bi为重构后的轮廓极坐标序列中第i个极坐标的角坐标;
(5)采用自适应阈值化方法将完全表盘图像I′gu进行二值化处理,得到二值化完全表盘图像Pgu
(6)在二值化完全表盘图像Pgu中进行表盘刻度环区域搜索:将表盘刻度环区域的环半径比表示γ来标记,表盘刻度环区域的环半径比指的是表盘刻度区所覆盖与表盘同心的环形区域半径与表盘半径之比,γ的取值范围为γb~γf,其中γb=0.6,γf=0.95;将表盘刻度环区域范围搜索序列记为{γk},γk表示第k个表盘刻度环区域的环半径比,k=1,2,...,35,36,γ1=γb=0.6,γ36=γf=0.95,γk″+1k″=0.01;k″=1,2,...,34,35;
(7)根据{γk}在二值化完全表盘图像Pgu中确定36个表盘刻度环搜索区域,将与表盘同心且环半径比为γk的圆边界作为第k个表盘刻度环搜索区域,判断第k个表盘刻度环搜索区域是否为表盘刻度环区域,具体判定过程为:
7.1计算环半径比为γk处且与表盘同心的圆边界上的N′个坐标点的坐标,采用得到的N′个坐标点的坐标构建该圆边界坐标序列{(xki,yki)},其中(xki,yki)为第k个表盘刻度环搜索区域上第i个坐标,采用公式(3)计算得到(xki,yki):
Figure GDA0003114975080000041
7.2从二值化完全表盘图像Pgu中获取{(xki,yki)}中所有坐标点处像素点的灰度值,将坐标点(xki,yki)处的像素点的灰度值记为vki
7.3以θ′bi为横坐标变量,vki为纵坐标变量,将vki看作关于θ′bi的幅度信号,构建二维幅度坐标系,在二维幅度坐标系中标注出坐标点(θ′b1,vk1)~(θ′bN′,vkN′),将(θ′bi,vki)作为γk对应的第i个二维幅度坐标点的坐标;
7.4构建用于存放疑似环半径比的疑似环半径比序列,将该疑似环半径比序列记为U,对γ1~γ36依次按照以下操作进行处理:从(θ′b1,vk1)开始直至(θ′bN′,vkN′),依次逐点进行遍历,统计幅度变化次数,如果相邻两点(θ′b(j+1),vk(j+1))和(θ′bj,vkj)中,vk(j+1)不等于vkj,则认为幅度发生了一次变化,其中j=1,2,...,N′-1;如果幅度变化次数超过表盘刻度条目数Ns的80%,则将环半径比γk所处圆边界确定为疑似表盘刻度环区域,并将该环半径比γk保存到疑似环半径比序列U中;
在对γ1~γ36确认完成后,统计得到的疑似环半径比序列U中环半径比的数量,将其记为N′1,将得到的疑似环半径比序列U中第k′1个环半径比记为
Figure GDA0003114975080000051
k′1=1,2,…,N′1
7.5将第k′1个环半径比
Figure GDA0003114975080000052
对应的第i个二维幅度坐标点的坐标记为
Figure GDA0003114975080000053
对疑似环半径比序列U中第k′1个环半径比按照以下操作进行处理:
Figure GDA0003114975080000054
开始直至
Figure GDA0003114975080000055
依次逐点遍历,当出现G个连续坐标点的纵坐标都为0的情况时,将这G个连续坐标点作为幅度连续为0的幅度段,G为大于等于2的整数,统计从
Figure GDA0003114975080000056
开始直至
Figure GDA0003114975080000057
逐点遍历过程中幅度连续为0的幅度段的数量,将其记为H;
获取每个幅度连续为0的幅度段中,结束坐标点的横坐标减去起始坐标点的横坐标的差值,判断该差值是否在常数范围
Figure GDA0003114975080000058
内,如果在,则判定疑似环半径比序列U中第k′1个环半径比为表盘刻度环区域,如果不在,则判定疑似环半径比序列U中第k′1个环半径比不为表盘刻度环区域;
7.6按照步骤7.5判定完成γ′1对应的第1个表盘刻度环搜索区域至
Figure GDA0003114975080000059
对应的第N′1个表盘刻度环搜索区域是否为表盘刻度环区域,将被判定为不为表盘刻度环区域的对应的半径比从疑似环半径比序列U中删除后得到表盘刻度环区域范围序列,将其记为{ωh},其中h=1,2,...,M′,M′等于判定为表盘刻度环区域的表盘刻度环搜索区域的数量;
(8)在角度序列{θ′bi}的每个角度值上,对二值化完全表盘图像Pgu中表盘刻度环区域范围序列{ωh}对应的表盘刻度环区域进行径向刻度标定,将角度序列{θ′bi}中第i个角度θ′bi处的标定量记为Si,具体过程为:
8.1在θ′bi角度处,获取表盘刻度环区域范围序列{ωh}内的每个半径比对应圆的径向像素坐标,将第h个半径比ωh对应圆的径向像素坐标记为
Figure GDA00031149750800000510
采用公式(4)计算得到
Figure GDA00031149750800000511
Figure GDA00031149750800000512
其中h=1,2,...,M′,i=1,2,...,N′;
8.2采用
Figure GDA0003114975080000061
构成θ′bi角度处,表盘刻度环区域中刻度环半径比例范围{ωh}内的径向像素坐标序列,将其记为
Figure GDA0003114975080000062
8.3在二值化完全表盘图像Pgu中,获取径向像素坐标序列
Figure GDA0003114975080000063
中每个坐标点处像素点的灰度值,将第h个径向像素坐标点
Figure GDA0003114975080000064
处的像素点的灰度值记为
Figure GDA0003114975080000065
将在θ′bi角度处,表盘刻度环区域范围序列{ωh}对应的径向像素点灰度值序列记为
Figure GDA0003114975080000066
8.4统计径向像素点灰度值序列
Figure GDA0003114975080000067
中灰度值为0的像素点数量;
8.5判定径向像素点灰度值序列记为
Figure GDA0003114975080000068
中灰度值为0的像素点数量是否超过总数量的一半,如果超过,则令Si=1,否则令Si=0;
8.6按照步骤8.1~步骤8.5得到S1~SN′,采用得到的S1~SN′构成径向刻度标定结果序列{Si};
(9)刻度识别
9.1采用径向刻度标定结果序列{Si}中的数据对角度序列{θ′bi}进行去冗余处理,其中Si对应的角度为θ′bi:从径向刻度标定结果序列{Si}中第1个径向刻度标定结果S1开始直至最后一个径向刻度标定结果SN′,依次判定该径向刻度标定结果的值是否等于1,如果等于1,则将该径向刻度标定结果对应的角度从角度序列{θ′bi}中抽取出,采用所有抽取出的角度构成刻度标定结果角度序列,将其记为{θ″},τ=1,2,…,N″,N″为从角度序列{θ′bi}中抽取的角度的总数量,θ″表示从角度序列{θ′bi}中第τ次抽取出的角度;
9.2将刻度标定结果角度序列{θ″}进行去冗余处理,具体过程为:
9.2.1构建用于存放去冗余后的角度的精简角度序列;
9.2.2将θ″b1作为精简角度序列中的第1个角度存放到精简角度序列中对精简角度序列进行第1次更新;
9.2.3设定更新变量x,对更新变量x进行初始化,令x=2;
9.2.4对精简角度序列进行第x次更新,具体过程为:
A.获取刻度标定结果角度序列{θ″}中第x个角度θ″bx,获取当前精简角度序列中最后一个角度,将该角度记为θfLast,计算θ″bxfLast的差值,将该差值记为Δθx
B.判断Δθx是否大于2:
如果Δθx>2,则将θbx作为最后一个角度数据补充到当前精简角度序列中,对当前精简角度序列进行更新;
如果Δθx<2,则计算
Figure GDA0003114975080000071
的值,将
Figure GDA0003114975080000072
的值作为最后一个角度数据补充到当前精简角度序列中,对当前精简角度序列进行更新;
C.判断x的当前值是否等于N″,如果等于,则精简角度序列更新完成,将更新完成的精简角度序列记为{θfG},θfG为精简角度序列{θfG}中第G个角度,G=1,2,…,M,M为更新完成的精简角度序列中包含的角度的总数量,如果x的当前值不等于N″,则采用x的当前值加1得到的值去更新x的取值,然后返回步骤A进入下一次更新,直至满足更新完成条件;
9.3进行刻度识别,具体过程为:
9.3.1在精简角度序列{θfG}中,选取从第
Figure GDA0003114975080000073
个角度到第
Figure GDA0003114975080000074
个角度,共选取
Figure GDA0003114975080000075
个角度,将这
Figure GDA0003114975080000076
个角度前后差分的均值记为θmean,‖ ‖为取整符号;
9.3.2采用公式(5)计算得到θmean
Figure GDA0003114975080000077
9.3.3对精简角度序列记为{θfG}进行处理,得到起始刻度角度αstart和结束刻度角度αend,具体过程为:
a.将精简角度序列{θfG}中θfG的脚标G作为θfG的序号;
b.设定序号变量v,从序号1开始给v赋值,每赋值一次计算v+Ns-1的当前值,如果v+Ns-1的当前值小于M,则采用v的当前值加1的和再赋值给v,对v进行更新,直至找到第一个满足v+Ns-1≥M的v的取值,将此时找到的v的取值记为y;
c.设定中间变量z,设定用于存放实际刻度的实际刻度向量,将其记为
Figure GDA0003114975080000081
对z进行初始化,将y赋值给z;
d.以精简角度序列{θfG}中第z个元素θfz为起点,依次选取后续Ns-1个元素按顺序存放到实际刻度向量
Figure GDA0003114975080000082
中,
Figure GDA0003114975080000083
采用式(6)表示为:
Figure GDA0003114975080000084
e.采用公式(7)求解
Figure GDA0003114975080000085
的均值与θmean之差的绝对值,将该绝对值记为θmz
Figure GDA0003114975080000086
f.判断z+Ns-1的当前值是否等于M,如果等于,则进入步骤g,如果不等于,则采用z的当前值加1的和更新z的值,返回步骤d,直至z+Ns-1的当前值等于M;
g.找出
Figure GDA0003114975080000089
的最小值θmQ,y≤Q≤(M+1-Ns);
h.将θmQ对应的实际刻度向量
Figure GDA0003114975080000087
中θfQ作为起始刻度角度αstart
Figure GDA0003114975080000088
作为结束刻度角度αend
9.4进行指针识别,具体过程为:
9.4.1将圆心坐标为(xc,yc)的二值化完全表盘图像Pgu所处圆形的六点钟方向作为0角度线,然后将0角度线作为第1条等分线,将二值化完全表盘图像Pgu的圆周按照顺时针方向分为720等分,每等分为0.5°,一共得到720条等分线,采用这720条等分线对应的角度形成等分角度序列{δq},其中q=1,2,…,720;δq=0.5°×(q-1);
9.4.2在步骤4.4获取的表盘轮廓极坐标序列{(rbTbT)}中,找到rb1至rbN这N个半径坐标中取值最小的半径坐标,将其记为rMIN
9.4.3设置一个包括100个元素的数据序列,将其记为{pw},其中,w=1,2,…,100,p1=0.01,p(F+1)=pF+0.01,F=1,2,…,99;
9.4.4将在等分角度δq、半径为pw*rMIN处的二值化完全表盘图像Pgu中像素点的直角坐标记为
Figure GDA0003114975080000091
采用公式(8)计算得到:
Figure GDA0003114975080000092
9.4.5在二值化完全表盘图像Pgu中,获取直角坐标点
Figure GDA0003114975080000093
的像素点的灰度值,将该灰度值记为gyqw
9.4.6采用等分角度δq、半径为p1*rMIN处的灰度值gyq1至等分角度δq、半径为p100*rMIN处的灰度值gyq100这100个灰度值构成等分角度δq对应的灰度值序列{gyqw},gyqw表示等分角度δq、半径为pw*rMIN处的灰度值;
9.4.7计算等分角度δq处灰度值的平均值,将其记为
Figure GDA0003114975080000094
Figure GDA0003114975080000095
9.4.8将q作为
Figure GDA0003114975080000096
的索引数值,找到
Figure GDA0003114975080000097
Figure GDA0003114975080000098
中的最小值,将该最小值的索引数值记为qindex
9.4.9将指针位置记为α,从等分角度序列{δa}中找到
Figure GDA0003114975080000099
Figure GDA00031149750800000910
赋值给α;
9.5读数计算
9.5.1将机械式指针压力表的量程范围记为Vrange,采用公式(10)计算得到:
Vrange=Vmax-Vmin (10)
其中Vmin为机械式指针压力表的最小起始刻度量值,Vmax为机械式指针压力表的最大刻度量值;
9.5.2采用公式(11)计算得到机械式指针压力表的读数Vgauge
Figure GDA00031149750800000911
其中,αrange为机械式指针压力表的刻度角度范围为,αrange=αstartend
与现有技术相比,本发明的优点在于通过基本的图像滤波和二值化处理之后,通过两次Hough变换获得较为精确的仪表表盘中心坐标,在提取表盘轮廓后,对轮廓坐标组进行极坐标变换,而后以仪表表盘中心坐标为圆心,逆时针进行刻度搜索识别,获取表盘刻度区域,并在刻度识别结果区域进行刻度标定,从而获得标定后的关于角度和刻度的二维向量,这样便将刻度识别问题转换为了二维向量处理问题,随后构建标准刻度向量,便以计算角度和刻度的二维识别向量和标准刻度向量的距离,在两向量距离最小值处,就是标准刻度的起始和终点位置,并采用求取刻度环内部圆环灰度均值最小值的方法求取指针位置,由此实现机械式指针压力表读数的自动识别,保证读数准确性。
具体实施方式
以下结合实施例对本发明作进一步详细描述。
实施例:一种机械式指针压力表读数识别方法,包括以下步骤:
(1)通过摄像头拍摄机械式指针压力表的原始彩色图像;
(2)从原始彩色图像中获取机械式指针压力表的表盘图像,具体过程为:
2.1将原始彩色图像进行灰度化处理,得到初始灰度图像;
2.2对初始灰度图像依次进行高斯滤波和中值滤波处理,得到中间灰度图像;
2.3构建二维坐标系,将中间灰度图像置于该二维坐标系中;
2.4将Hough变换的输入参数范围设定为FH"*fH"*1.1-FH"*fH"*0.90,其中FH"取值为摄像头拍摄图像的宽度分辨率,即宽度像素数,fH"取值范围为0.5-0.9,该参数根据具体拍摄场景焦距进行人工调节,*为乘运算符号,应用Hough变换在中间灰度图像中搜索到圆形,并获取搜索到的圆形的半径和圆心坐标,将其半径记为R0,将其圆心坐标记为(x0,y0),在二维坐标系中,以(x0-1.1*R0,y0-1.1*R0)作为起点坐标,以(x0+1.1*R0,y0+1.1*R0)作为终点坐标,在中间灰度图像中绘制以坐标点(x0,y0)为中心,包围Hough变换在中间灰度图像中搜索到的圆形的正方形区域,将该正方形区域内的图像作为机械式指针压力表的表盘图像,记为表盘图像Igu
2.5将中间灰度图像中表盘图像Igu以外的区域去除,得到位于二维坐标系中的完全表盘图像I′gu,完全表盘图像I′gu为正方形;
(3)在完全表盘图像I′gu中确定机械式指针压力表的表盘中心点的坐标,具体方法为:将Hough变换的输入参数范围定为rp*1.1-rp*0.90,其中rp取值范围为450-600,应用Hough变换在完全表盘图像I′gu中再次搜索到圆形,获取搜索到的圆形的圆心在二维坐标系中的坐标,将其记为(xc,yc),(xc,yc)即为机械式指针压力表的表盘中心点的坐标;
(4)查找表盘轮廓及对查找到的表盘轮廓进行处理,具体步骤为:
4.1采用图像边缘提取方法在完全表盘图像I′gu中提取表盘边界轮廓点,将第T次提取得到的表盘边界轮廓点在二维坐标系中的坐标记为(xbT,ybT),T=1,2,...,N,N为图像边缘提取方法自动识别提取的表盘边界轮廓点的数量;
4.2采用提取得到的N个表盘边界轮廓点坐标构建表盘边界轮廓点坐标序列,将表盘边界轮廓点坐标序列记为{(xbT,ybT)},(xbT,ybT)为表盘边界轮廓点坐标序列中第T个表盘边界轮廓点坐标;
4.3以坐标点(xc,yc)为圆心,N个表盘边界轮廓点构成的圆形为钟表面,以该钟表面的6点时钟方向为0度起始角,建立极坐标系;
4.4将表盘边界轮廓点坐标序列{(xbT,ybT)}中每个表盘边界轮廓点坐标转换为极坐标,得到轮廓极坐标序列,将得到的轮廓极坐标序列记为{(rbTbT)},(rbTbT)为(xbT,ybT)对应转换得到的极坐标,(rbTbT)为轮廓极坐标序列中第T个极坐标,采用公式(1)计算得到半径坐标rbT,采用公式(2)计算得到角坐标θbT
Figure GDA0003114975080000111
Figure GDA0003114975080000112
其中,θbT的单位为度,arcsin为反正弦函数符号,*为乘运算符号,π为圆周率,/为除运算符号;
4.5对轮廓极坐标序列{(rbT,θbT)}进行迭代重构,具体过程为:
4.5.1制定轮廓极坐标序列重构规则:从当前轮廓极坐标序列中第1个极坐标开始,将后一个极坐标的角坐标与前一个极坐标的角坐标进行比较,直至最后一个极坐标与其前一个极坐标比较完成:如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差小于0.5,则从当前轮廓极坐标序列中将后一个极坐标删除,对轮廓极坐标序列进行更新,将更新后的轮廓极坐标序列作为当前轮廓极坐标序列继续进行重构;如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差大于等于0.5且小于1,则不做处理,进入下一次的比较;如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差大于等于1,则在这两个极坐标中插入一个新的极坐标,插入的极坐标的半径坐标等于前一个极坐标的半径坐标,插入的极坐标的角坐标等于这两个极坐标的角坐标之和的一半,得到更新后的轮廓极坐标序列,将更新后的轮廓极坐标序列作为当前轮廓极坐标序列继续进行重构;
4.5.2按照轮廓极坐标序列重构规则完成对轮廓极坐标序列{(rbTbT)}进行的迭代重构,得到重构后的轮廓极坐标序列,将重构后的轮廓极坐标序列记为{(r′bi,θ′bi)},(r′bi,θ′bi)为重构后的轮廓极坐标序列中第i个极坐标,i=1,2,...,N′,N′为重构后的轮廓极坐标序列中极坐标的数量,r′bi为重构后的轮廓极坐标序列中第i个极坐标的半径坐标,θ′bi为重构后的轮廓极坐标序列中第i个极坐标的角坐标;
(5)采用自适应阈值化方法将完全表盘图像I′gu进行二值化处理,得到二值化完全表盘图像Pgu
(6)在二值化完全表盘图像Pgu中进行表盘刻度环区域搜索:将表盘刻度环区域的环半径比表示γ来标记,表盘刻度环区域的环半径比指的是表盘刻度区所覆盖与表盘同心的环形区域半径与表盘半径之比,γ的取值范围为γb~γf,其中γb=0.6,γf=0.95;将表盘刻度环区域范围搜索序列记为{γk},γk表示第k个表盘刻度环区域的环半径比,k=1,2,...,35,36,γ1=γb=0.6,γ36=γf=0.95,γk″+1k″=0.01;k″=1,2,...,34,35;
(7)根据{γk}在二值化完全表盘图像Pgu中确定36个表盘刻度环搜索区域,将与表盘同心且环半径比为γk的圆边界作为第k个表盘刻度环搜索区域,判断第k个表盘刻度环搜索区域是否为表盘刻度环区域,具体判定过程为:
7.1计算环半径比为γk处且与表盘同心的圆边界上的N′个坐标点的坐标,采用得到的N′个坐标点的坐标构建该圆边界坐标序列{(xki,yki)},其中(xki,yki)为第k个表盘刻度环搜索区域上第i个坐标,采用公式(3)计算得到(xki,yki):
Figure GDA0003114975080000131
7.2从二值化完全表盘图像Pgu中获取{(xki,yki)}中所有坐标点处像素点的灰度值,将坐标点(xki,yki)处的像素点的灰度值记为vki
7.3以θ′bi为横坐标变量,vki为纵坐标变量,将vki看作关于θ′bi的幅度信号,构建二维幅度坐标系,在二维幅度坐标系中标注出坐标点(θ′b1,vk1)~(θ′bN′,vkN′),将(θ′bi,vki)作为γk对应的第i个二维幅度坐标点的坐标;
7.4构建用于存放疑似环半径比的疑似环半径比序列,将该疑似环半径比序列记为U,对γ1~γ36依次按照以下操作进行处理:从(θ′b1,vk1)开始直至(θ′N′,vkN′),依次逐点进行遍历,统计幅度变化次数,如果相邻两点(θ′b(j+1),vk(j+1))和(θ′bj,vkj)中,vk(j+1)不等于vkj,则认为幅度发生了一次变化,其中j=1,2,...,N′-1;如果幅度变化次数超过表盘刻度条目数Ns的80%,则将环半径比γk所处圆边界确定为疑似表盘刻度环区域,并将该环半径比γk保存到疑似环半径比序列U中;
在对γ1~γ36确认完成后,统计得到的疑似环半径比序列U中环半径比的数量,将其记为N′1,将得到的疑似环半径比序列U中第k′1个环半径比记为
Figure GDA0003114975080000132
k′1=1,2,…,N′1
7.5将第k′1个环半径比
Figure GDA0003114975080000133
对应的第i个二维幅度坐标点的坐标记为
Figure GDA0003114975080000134
对疑似环半径比序列U中第k′1个环半径比按照以下操作进行处理:
Figure GDA0003114975080000135
开始直至
Figure GDA0003114975080000136
依次逐点遍历,当出现G个连续坐标点的纵坐标都为0的情况时,将这G个连续坐标点作为幅度连续为0的幅度段,G为大于等于2的整数,统计从
Figure GDA0003114975080000137
开始直至
Figure GDA0003114975080000138
逐点遍历过程中幅度连续为0的幅度段的数量,将其记为H;
获取每个幅度连续为0的幅度段中,结束坐标点的横坐标减去起始坐标点的横坐标的差值,判断该差值是否在常数范围
Figure GDA0003114975080000139
内,如果在,则判定疑似环半径比序列U中第k′1个环半径比为表盘刻度环区域,如果不在,则判定疑似环半径比序列U中第k′1个环半径比不为表盘刻度环区域;
7.6按照步骤7.5判定完成γ′1对应的第1个表盘刻度环搜索区域至
Figure GDA0003114975080000141
对应的第N′1个表盘刻度环搜索区域是否为表盘刻度环区域,将被判定为不为表盘刻度环区域的对应的半径比从疑似环半径比序列U中删除后得到表盘刻度环区域范围序列,将其记为{ωh},其中h=1,2,...,M′,M′等于判定为表盘刻度环区域的表盘刻度环搜索区域的数量;
(8)在角度序列{θ′bi}的每个角度值上,对二值化完全表盘图像Pgu中表盘刻度环区域范围序列{ωh}对应的表盘刻度环区域进行径向刻度标定,将角度序列{θ′bi}中第i个角度θ′bi处的标定量记为Si,具体过程为:
8.1在θ′bi角度处,获取表盘刻度环区域范围序列{ωh}内的每个半径比对应圆的径向像素坐标,将第h个半径比ωh对应圆的径向像素坐标记为
Figure GDA0003114975080000142
采用公式(4)计算得到
Figure GDA0003114975080000143
Figure GDA0003114975080000144
其中h=1,2,...,M′,i=1,2,...,N′;
8.2采用
Figure GDA0003114975080000145
构成θ′bi角度处,表盘刻度环区域中刻度环半径比例范围{ωh}内的径向像素坐标序列,将其记为
Figure GDA0003114975080000146
8.3在二值化完全表盘图像Pgu中,获取径向像素坐标序列
Figure GDA0003114975080000147
中每个坐标点处像素点的灰度值,将第h个径向像素坐标点
Figure GDA0003114975080000148
处的像素点的灰度值记为
Figure GDA0003114975080000149
将在θ′bi角度处,表盘刻度环区域范围序列{ωh}对应的径向像素点灰度值序列记为
Figure GDA00031149750800001410
8.4统计径向像素点灰度值序列
Figure GDA00031149750800001411
中灰度值为0的像素点数量;
8.5判定径向像素点灰度值序列记为
Figure GDA00031149750800001412
中灰度值为0的像素点数量是否超过总数量的一半,如果超过,则令Si=1,否则令Si=0;
8.6按照步骤8.1~步骤8.5得到S1~SN′,采用得到的S1~SN′构成径向刻度标定结果序列{Si};
(9)刻度识别
9.1采用径向刻度标定结果序列{Si}中的数据对角度序列{θ′bi}进行去冗余处理,其中Si对应的角度为θ′bi:从径向刻度标定结果序列{Si}中第1个径向刻度标定结果S1开始直至最后一个径向刻度标定结果SN′,依次判定该径向刻度标定结果的值是否等于1,如果等于1,则将该径向刻度标定结果对应的角度从角度序列{θ′bi}中抽取出,采用所有抽取出的角度构成刻度标定结果角度序列,将其记为{θ″},τ=1,2,…,N″,N″为从角度序列{θ′bi}中抽取的角度的总数量,θ″表示从角度序列{θ′bi}中第τ次抽取出的角度;
9.2将刻度标定结果角度序列{θ″}进行去冗余处理,具体过程为:
9.2.1构建用于存放去冗余后的角度的精简角度序列;
9.2.2将θ″b1作为精简角度序列中的第1个角度存放到精简角度序列中对精简角度序列进行第1次更新;
9.2.3设定更新变量x,对更新变量x进行初始化,令x=2;
9.2.4对精简角度序列进行第x次更新,具体过程为:
A.获取刻度标定结果角度序列{θ″}中第x个角度θ″bx,获取当前精简角度序列中最后一个角度,将该角度记为θfLast,计算θ″bxfLast的差值,将该差值记为Δθx
B.判断Δθx是否大于2:
如果Δθx>2,则将θ″bx作为最后一个角度数据补充到当前精简角度序列中,对当前精简角度序列进行更新;
如果Δθx<2,则计算
Figure GDA0003114975080000151
的值,将
Figure GDA0003114975080000152
的值作为最后一个角度数据补充到当前精简角度序列中,对当前精简角度序列进行更新;
C.判断x的当前值是否等于N″,如果等于,则精简角度序列更新完成,将更新完成的精简角度序列记为{θfG},θfG为精简角度序列{θfG}中第G个角度,G=1,2,…,M,M为更新完成的精简角度序列中包含的角度的总数量,如果x的当前值不等于N″,则采用x的当前值加1得到的值去更新x的取值,然后返回步骤A进入下一次更新,直至满足更新完成条件;
9.3进行刻度识别,具体过程为:
9.3.1在精简角度序列{θfG}中,选取从第
Figure GDA0003114975080000161
个角度到第
Figure GDA0003114975080000162
个角度,共选取
Figure GDA0003114975080000163
个角度,将这
Figure GDA0003114975080000164
个角度前后差分的均值记为θmean,‖ ‖为取整符号;
9.3.2采用公式(5)计算得到θmean
Figure GDA0003114975080000165
9.3.3对精简角度序列记为{θfG}进行处理,得到起始刻度角度αstart和结束刻度角度αend,具体过程为:
a.将精简角度序列{θfG}中θfG的脚标G作为θfG的序号;
b.设定序号变量v,从序号1开始给v赋值,每赋值一次计算v+Ns-1的当前值,如果v+Ns-1的当前值小于M,则采用v的当前值加1的和再赋值给v,对v进行更新,直至找到第一个满足v+Ns-1≥M的v的取值,将此时找到的v的取值记为y;
c.设定中间变量z,设定用于存放实际刻度的实际刻度向量,将其记为
Figure GDA0003114975080000166
对z进行初始化,将y赋值给z;
d.以精简角度序列{θfG}中第z个元素θfz为起点,依次选取后续Ns-1个元素按顺序存放到实际刻度向量
Figure GDA0003114975080000167
中,
Figure GDA0003114975080000168
采用式(6)表示为:
Figure GDA0003114975080000169
e.采用公式(7)求解
Figure GDA00031149750800001610
的均值与θmean之差的绝对值,将该绝对值记为θmz
Figure GDA00031149750800001611
f.判断z+Ns-1的当前值是否等于M,如果等于,则进入步骤g,如果不等于,则采用z的当前值加1的和更新z的值,返回步骤d,直至z+Ns-1的当前值等于M;
g.找出
Figure GDA0003114975080000171
的最小值θmQ,y≤Q≤(M+1-Ns);
h.将θmQ对应的实际刻度向量
Figure GDA0003114975080000172
中θfQ作为起始刻度角度αstart
Figure GDA0003114975080000173
作为结束刻度角度αend
9.4进行指针识别,具体过程为:
9.4.1将圆心坐标为(xc,yc)的二值化完全表盘图像Pgu所处圆形的六点钟方向作为0角度线,然后将0角度线作为第1条等分线,将二值化完全表盘图像Pgu的圆周按照顺时针方向分为720等分,每等分为0.5°,一共得到720条等分线,采用这720条等分线对应的角度形成等分角度序列{δq},其中q=1,2,…,720;δq=0.5°×(q-1);
9.4.2在步骤4.4获取的表盘轮廓极坐标序列{(rbTbT)}中,找到rb1至rbN这N个半径坐标中取值最小的半径坐标,将其记为rMIN
9.4.3设置一个包括100个元素的数据序列,将其记为{pw},其中,w=1,2,…,100,p1=0.01,p(F+1)=pF+0.01,F=1,2,…,99;
9.4.4将在等分角度δq、半径为pw*rMIN处的二值化完全表盘图像Pgu中像素点的直角坐标记为
Figure GDA0003114975080000174
采用公式(8)计算得到:
Figure GDA0003114975080000175
9.4.5在二值化完全表盘图像Pgu中,获取直角坐标点
Figure GDA0003114975080000176
的像素点的灰度值,将该灰度值记为gyqw
9.4.6采用等分角度δq、半径为p1*rMIN处的灰度值gyq1至等分角度δq、半径为p100*rMIN处的灰度值gyq100这100个灰度值构成等分角度δq对应的灰度值序列{gyqw},gyqw表示等分角度δq、半径为pw*rMIN处的灰度值;
9.4.7计算等分角度δq处灰度值的平均值,将其记为
Figure GDA0003114975080000177
Figure GDA0003114975080000178
9.4.8将q作为
Figure GDA0003114975080000181
的索引数值,找到
Figure GDA0003114975080000182
Figure GDA0003114975080000183
中的最小值,将该最小值的索引数值记为qindex
9.4.9将指针位置记为α,从等分角度序列{δq}中找到
Figure GDA0003114975080000184
Figure GDA0003114975080000185
赋值给α;
9.5读数计算
9.5.1将机械式指针压力表的量程范围记为Vrange,采用公式(10)计算得到:
Vrange=Vmax-Vmin (10)
其中Vmin为机械式指针压力表的最小起始刻度量值,Vmax为机械式指针压力表的最大刻度量值;
9.5.2采用公式(11)计算得到机械式指针压力表的读数Vgauge
Figure GDA0003114975080000186
其中,αrange为机械式指针压力表的刻度角度范围为,αrange=αstartend

Claims (1)

1.一种机械式指针压力表读数识别方法,其特征在于包括以下步骤:
(1)通过摄像头拍摄机械式指针压力表的原始彩色图像;
(2)从原始彩色图像中获取机械式指针压力表的表盘图像,具体过程为:
2.1将原始彩色图像进行灰度化处理,得到初始灰度图像;
2.2对初始灰度图像依次进行高斯滤波和中值滤波处理,得到中间灰度图像;
2.3构建二维坐标系,将中间灰度图像置于该二维坐标系中;
2.4将Hough变换的输入参数范围设定为FH″*fH″*1.1-FH″*fH″*0.90,其中FH″取值为摄像头拍摄图像的宽度分辨率,即宽度像素数,fH″取值范围为0.5-0.9,该参数根据具体拍摄场景焦距进行人工调节,*为乘运算符号,应用Hough变换在中间灰度图像中搜索到圆形,并获取搜索到的圆形的半径和圆心坐标,将其半径记为R0,将其圆心坐标记为(x0,y0),在二维坐标系中,以(x0-1.1*R0,y0-1.1*R0)作为起点坐标,以(x0+1.1*R0,y0+1.1*R0)作为终点坐标,在中间灰度图像中绘制以坐标点(x0,y0)为中心,包围Hough变换在中间灰度图像中搜索到的圆形的正方形区域,将该正方形区域内的图像作为机械式指针压力表的表盘图像,记为表盘图像Igu
2.5将中间灰度图像中表盘图像Igu以外的区域去除,得到位于二维坐标系中的完全表盘图像I′gu,完全表盘图像I′gu为正方形;
(3)在完全表盘图像I′gu中确定机械式指针压力表的表盘中心点的坐标,具体方法为:将Hough变换的输入参数范围定为rp*1.1-rp*0.90,其中rp取值范围为450-600,应用Hough变换在完全表盘图像I′gu中再次搜索到圆形,获取搜索到的圆形的圆心在二维坐标系中的坐标,将其记为(xc,yc),(xc,yc)即为机械式指针压力表的表盘中心点的坐标;
(4)查找表盘轮廓及对查找到的表盘轮廓进行处理,具体步骤为:
4.1采用图像边缘提取方法在完全表盘图像I′gu中提取表盘边界轮廓点,将第T次提取得到的表盘边界轮廓点在二维坐标系中的坐标记为(xbT,ybT),T=1,2,...,N,N为图像边缘提取方法自动识别提取的表盘边界轮廓点的数量;
4.2采用提取得到的N个表盘边界轮廓点坐标构建表盘边界轮廓点坐标序列,将表盘边界轮廓点坐标序列记为{(xbT,ybT)},(xbT,ybT)为表盘边界轮廓点坐标序列中第T个表盘边界轮廓点坐标;
4.3以坐标点(xc,yc)为圆心,N个表盘边界轮廓点构成的圆形为钟表面,以该钟表面的6点时钟方向为0度起始角,建立极坐标系;
4.4将表盘边界轮廓点坐标序列{(xbT,ybT)}中每个表盘边界轮廓点坐标转换为极坐标,得到轮廓极坐标序列,将得到的轮廓极坐标序列记为{(rbT,θbT)},(rbT,θbT)为(xbT,ybT)对应转换得到的极坐标,(rbT,θbT)为轮廓极坐标序列中第T个极坐标,采用公式(1)计算得到半径坐标rbT,采用公式(2)计算得到角坐标θbT
Figure FDA0003114975070000021
Figure FDA0003114975070000022
其中,θbT的单位为度,arcsin为反正弦函数符号,*为乘运算符号,π为圆周率,/为除运算符号;
4.5对轮廓极坐标序列{(rbT,θbT)}进行迭代重构,具体过程为:
4.5.1制定轮廓极坐标序列重构规则:从当前轮廓极坐标序列中第1个极坐标开始,将后一个极坐标的角坐标与前一个极坐标的角坐标进行比较,直至最后一个极坐标与其前一个极坐标比较完成:如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差小于0.5,则从当前轮廓极坐标序列中将后一个极坐标删除,对轮廓极坐标序列进行更新,将更新后的轮廓极坐标序列作为当前轮廓极坐标序列继续进行重构;如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差大于等于0.5且小于1,则不做处理,进入下一次的比较;如果后一个极坐标的角坐标减去前一个极坐标的角坐标的差大于等于1,则在这两个极坐标中插入一个新的极坐标,插入的极坐标的半径坐标等于前一个极坐标的半径坐标,插入的极坐标的角坐标等于这两个极坐标的角坐标之和的一半,得到更新后的轮廓极坐标序列,将更新后的轮廓极坐标序列作为当前轮廓极坐标序列继续进行重构;
4.5.2按照轮廓极坐标序列重构规则完成对轮廓极坐标序列{(rbT,θbT)}进行的迭代重构,得到重构后的轮廓极坐标序列,将重构后的轮廓极坐标序列记为{(r′bi,θ′bi)},(r′bi,θ′bi)为重构后的轮廓极坐标序列中第i个极坐标,i=1,2,...,N′,N′为重构后的轮廓极坐标序列中极坐标的数量,r′bi为重构后的轮廓极坐标序列中第i个极坐标的半径坐标,θ′bi为重构后的轮廓极坐标序列中第i个极坐标的角坐标;
(5)采用自适应阈值化方法将完全表盘图像I′gu进行二值化处理,得到二值化完全表盘图像Pgu
(6)在二值化完全表盘图像Pgu中进行表盘刻度环区域搜索:将表盘刻度环区域的环半径比表示γ来标记,表盘刻度环区域的环半径比指的是表盘刻度区所覆盖与表盘同心的环形区域半径与表盘半径之比,γ的取值范围为γb~γf,其中γb=0.6,γf=0.95;将表盘刻度环区域范围搜索序列记为{γk},γk表示第k个表盘刻度环区域的环半径比,k=1,2,...,35,36,γ1=γb=0.6,γ36=γf=0.95,γk″+1k″=0.01;k″=1,2,...,34,35;
(7)根据{γk}在二值化完全表盘图像Pgu中确定36个表盘刻度环搜索区域,将与表盘同心且环半径比为γk的圆边界作为第k个表盘刻度环搜索区域,判断第k个表盘刻度环搜索区域是否为表盘刻度环区域,具体判定过程为:
7.1计算环半径比为γk处且与表盘同心的圆边界上的N′个坐标点的坐标,采用得到的N′个坐标点的坐标构建该圆边界坐标序列{(xki,yki)},其中(xki,yki)为第k个表盘刻度环搜索区域上第i个坐标,采用公式(3)计算得到(xki,yki):
Figure FDA0003114975070000031
7.2从二值化完全表盘图像Pgu中获取{(xki,yki)}中所有坐标点处像素点的灰度值,将坐标点(xki,yki)处的像素点的灰度值记为vki
7.3以θ′bi为横坐标变量,vki为纵坐标变量,将vki看作关于θ′bi的幅度信号,构建二维幅度坐标系,在二维幅度坐标系中标注出坐标点(θ′b1,vk1)~(θ′bN′,vkN′),将(θ′bi,vki)作为γk对应的第i个二维幅度坐标点的坐标;
7.4构建用于存放疑似环半径比的疑似环半径比序列,将该疑似环半径比序列记为U,对γ1~γ36依次按照以下操作进行处理:从(θ′b1,vk1)开始直至(θ′bN′,vkN′),依次逐点进行遍历,统计幅度变化次数,如果相邻两点(θ′b(j+1),vk(j+1))和(θ′bj,vkj)中,vk(j+1)不等于vkj,则认为幅度发生了一次变化,其中j=1,2,...,N′-1;如果幅度变化次数超过表盘刻度条目数Ns的80%,则将环半径比γk所处圆边界确定为疑似表盘刻度环区域,并将该环半径比γk保存到疑似环半径比序列U中;
在对γ1~γ36确认完成后,统计得到的疑似环半径比序列U中环半径比的数量,将其记为N′1,将得到的疑似环半径比序列U中第k′1个环半径比记为
Figure FDA0003114975070000041
k′1=1,2,…,N′1
7.5将第k′1个环半径比
Figure FDA0003114975070000042
对应的第i个二维幅度坐标点的坐标记为
Figure FDA0003114975070000043
对疑似环半径比序列U中第k′1个环半径比按照以下操作进行处理:
Figure FDA0003114975070000044
开始直至
Figure FDA0003114975070000045
依次逐点遍历,当出现G个连续坐标点的纵坐标都为0的情况时,将这G个连续坐标点作为幅度连续为0的幅度段,G为大于等于2的整数,统计从
Figure FDA0003114975070000046
开始直至
Figure FDA0003114975070000047
逐点遍历过程中幅度连续为0的幅度段的数量,将其记为H;
获取每个幅度连续为0的幅度段中,结束坐标点的横坐标减去起始坐标点的横坐标的差值,判断该差值是否在常数范围
Figure FDA0003114975070000048
内,如果在,则判定疑似环半径比序列U中第k′1个环半径比为表盘刻度环区域,如果不在,则判定疑似环半径比序列U中第k′1个环半径比不为表盘刻度环区域;
7.6按照步骤7.5判定完成γ′1对应的第1个表盘刻度环搜索区域至
Figure FDA0003114975070000049
对应的第N′1个表盘刻度环搜索区域是否为表盘刻度环区域,将被判定为不为表盘刻度环区域的对应的半径比从疑似环半径比序列U中删除后得到表盘刻度环区域范围序列,将其记为{ωh},其中h=1,2,...,M′,M′等于判定为表盘刻度环区域的表盘刻度环搜索区域的数量;
(8)在角度序列{θ′bi}的每个角度值上,对二值化完全表盘图像Pgu中表盘刻度环区域范围序列{ωh}对应的表盘刻度环区域进行径向刻度标定,将角度序列{θ′bi}中第i个角度θ′bi处的标定量记为Si,具体过程为:
8.1在θ′bi角度处,获取表盘刻度环区域范围序列{ωh}内的每个半径比对应圆的径向像素坐标,将第h个半径比ωh对应圆的径向像素坐标记为
Figure FDA0003114975070000051
采用公式(4)计算得到
Figure FDA0003114975070000052
Figure FDA0003114975070000053
其中h=1,2,...,M′,i=1,2,...,N′;
8.2采用
Figure FDA0003114975070000054
构成θ′bi角度处,表盘刻度环区域中刻度环半径比例范围{ωh}内的径向像素坐标序列,将其记为
Figure FDA0003114975070000055
8.3在二值化完全表盘图像Pgu中,获取径向像素坐标序列
Figure FDA0003114975070000056
中每个坐标点处像素点的灰度值,将第h个径向像素坐标点
Figure FDA0003114975070000057
处的像素点的灰度值记为
Figure FDA0003114975070000058
将在θ′bi角度处,表盘刻度环区域范围序列{ωh}对应的径向像素点灰度值序列记为
Figure FDA0003114975070000059
8.4统计径向像素点灰度值序列
Figure FDA00031149750700000510
中灰度值为0的像素点数量;
8.5判定径向像素点灰度值序列记为
Figure FDA00031149750700000511
中灰度值为0的像素点数量是否超过总数量的一半,如果超过,则令Si=1,否则令Si=0;
8.6按照步骤8.1~步骤8.5得到S1~SN′,采用得到的S1~SN′构成径向刻度标定结果序列{Si};
(9)刻度识别
9.1采用径向刻度标定结果序列{Si}中的数据对角度序列{θ′bi}进行去冗余处理,其中Si对应的角度为θ′bi:从径向刻度标定结果序列{Si}中第1个径向刻度标定结果S1开始直至最后一个径向刻度标定结果SN′,依次判定该径向刻度标定结果的值是否等于1,如果等于1,则将该径向刻度标定结果对应的角度从角度序列{θ′bi}中抽取出,采用所有抽取出的角度构成刻度标定结果角度序列,将其记为{θ″},τ=1,2,…,N″,N″为从角度序列{θbi}中抽取的角度的总数量,θ″表示从角度序列{θ′bi}中第τ次抽取出的角度;
9.2将刻度标定结果角度序列{θ″}进行去冗余处理,具体过程为:
9.2.1构建用于存放去冗余后的角度的精简角度序列;
9.2.2将θ″b1作为精简角度序列中的第1个角度存放到精简角度序列中对精简角度序列进行第1次更新;
9.2.3设定更新变量x,对更新变量x进行初始化,令x=2;
9.2.4对精简角度序列进行第x次更新,具体过程为:
A.获取刻度标定结果角度序列{θ″}中第x个角度θ″bx,获取当前精简角度序列中最后一个角度,将该角度记为θfLast,计算θ″bxfLast的差值,将该差值记为Δθx
B.判断Δθx是否大于2:
如果Δθx>2,则将θ″bx作为最后一个角度数据补充到当前精简角度序列中,对当前精简角度序列进行更新;
如果Δθx<2,则计算
Figure FDA0003114975070000061
的值,将
Figure FDA0003114975070000062
的值作为最后一个角度数据补充到当前精简角度序列中,对当前精简角度序列进行更新;
C.判断x的当前值是否等于N″,如果等于,则精简角度序列更新完成,将更新完成的精简角度序列记为{θfG},θfG为精简角度序列{θfG}中第G个角度,G=1,2,…,M,M为更新完成的精简角度序列中包含的角度的总数量,如果x的当前值不等于N″,则采用x的当前值加1得到的值去更新x的取值,然后返回步骤A进入下一次更新,直至满足更新完成条件;
9.3进行刻度识别,具体过程为:
9.3.1在精简角度序列{θfG}中,选取从第
Figure FDA0003114975070000063
个角度到第
Figure FDA0003114975070000064
个角度,共选取
Figure FDA0003114975070000065
个角度,将这
Figure FDA0003114975070000066
个角度前后差分的均值记为θmean,||||为取整符号;
9.3.2采用公式(5)计算得到θmean
Figure FDA0003114975070000071
9.3.3对精简角度序列记为{θfG}进行处理,得到起始刻度角度αstart和结束刻度角度αend,具体过程为:
a.将精简角度序列{θfG}中θfG的脚标G作为θfG的序号;
b.设定序号变量v,从序号1开始给v赋值,每赋值一次计算v+Ns-1的当前值,如果v+Ns-1的当前值小于M,则采用v的当前值加1的和再赋值给v,对v进行更新,直至找到第一个满足v+Ns-1≥M的v的取值,将此时找到的v的取值记为y;
c.设定中间变量z,设定用于存放实际刻度的实际刻度向量,将其记为
Figure FDA0003114975070000072
对z进行初始化,将y赋值给z;
d.以精简角度序列{θfG}中第z个元素θfz为起点,依次选取后续Ns-1个元素按顺序存放到实际刻度向量
Figure FDA0003114975070000073
中,
Figure FDA0003114975070000074
采用式(6)表示为:
Figure FDA0003114975070000075
e.采用公式(7)求解
Figure FDA0003114975070000076
的均值与θmean之差的绝对值,将该绝对值记为θmz
Figure FDA0003114975070000077
f.判断z+Ns-1的当前值是否等于M,如果等于,则进入步骤g,如果不等于,则采用z的当前值加1的和更新z的值,返回步骤d,直至z+Ns-1的当前值等于M;
g.找出
Figure FDA0003114975070000079
的最小值θmQ,y≤Q≤(M+1-Ns);
h.将θmQ对应的实际刻度向量
Figure FDA0003114975070000078
中θfQ作为起始刻度角度αstart
Figure FDA00031149750700000710
作为结束刻度角度αend
9.4进行指针识别,具体过程为:
9.4.1将圆心坐标为(xc,yc)的二值化完全表盘图像Pgu所处圆形的六点钟方向作为0角度线,然后将0角度线作为第1条等分线,将二值化完全表盘图像Pgu的圆周按照顺时针方向分为720等分,每等分为0.5°,一共得到720条等分线,采用这720条等分线对应的角度形成等分角度序列{δq},其中q=1,2,…,720;δq=0.5°×(q-1);
9.4.2在步骤4.4获取的表盘轮廓极坐标序列{(rbT,θbT)}中,找到rb1至rbN这N个半径坐标中取值最小的半径坐标,将其记为rMIN
9.4.3设置一个包括100个元素的数据序列,将其记为{pw},其中,w=1,2,…,100,p1=0.01,p(F+1)=pF+0.01,F=1,2,…,99;
9.4.4将在等分角度δq、半径为pw*rMIN处的二值化完全表盘图像Pgu中像素点的直角坐标记为
Figure FDA0003114975070000081
采用公式(8)计算得到:
Figure FDA0003114975070000082
9.4.5在二值化完全表盘图像Pgu中,获取直角坐标点
Figure FDA0003114975070000083
的像素点的灰度值,将该灰度值记为gyqw
9.4.6采用等分角度δq、半径为p1*rMIN处的灰度值gyq1至等分角度δq、半径为p100*rMIN处的灰度值gyq100这100个灰度值构成等分角度δq对应的灰度值序列{gyqw},gyqw表示等分角度δq、半径为pw*rMIN处的灰度值;
9.4.7计算等分角度δq处灰度值的平均值,将其记为
Figure FDA0003114975070000084
Figure FDA0003114975070000085
9.4.8将q作为
Figure FDA0003114975070000086
的索引数值,找到
Figure FDA0003114975070000087
Figure FDA0003114975070000088
中的最小值,将该最小值的索引数值记为qindex
9.4.9将指针位置记为α,从等分角度序列{δq}中找到δqindex,将δqindex赋值给α;
9.5读数计算
9.5.1将机械式指针压力表的量程范围记为Vrange,采用公式(10)计算得到:
Vrange=Vmax-Vmin (10)
其中Vmin为机械式指针压力表的最小起始刻度量值,Vmax为机械式指针压力表的最大刻度量值;
9.5.2采用公式(11)计算得到机械式指针压力表的读数Vgauge
Figure FDA0003114975070000091
其中,αrange为机械式指针压力表的刻度角度范围为,αrange=αstartend
CN201910607887.3A 2019-07-08 2019-07-08 一种机械式指针压力表读数识别方法 Active CN110378326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910607887.3A CN110378326B (zh) 2019-07-08 2019-07-08 一种机械式指针压力表读数识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910607887.3A CN110378326B (zh) 2019-07-08 2019-07-08 一种机械式指针压力表读数识别方法

Publications (2)

Publication Number Publication Date
CN110378326A CN110378326A (zh) 2019-10-25
CN110378326B true CN110378326B (zh) 2021-10-08

Family

ID=68252254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910607887.3A Active CN110378326B (zh) 2019-07-08 2019-07-08 一种机械式指针压力表读数识别方法

Country Status (1)

Country Link
CN (1) CN110378326B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991233B (zh) * 2019-10-29 2023-05-12 沈阳天眼智云信息科技有限公司 指针式压力表的自动读数方法
CN111007441B (zh) * 2019-12-16 2022-12-02 深圳市振邦智能科技股份有限公司 一种电解电容极性检测方法及检测系统
CN111401377B (zh) * 2020-03-13 2024-03-08 北京市商汤科技开发有限公司 一种仪表数据读取方法、装置、电子设备及存储介质
CN111695551B (zh) * 2020-05-27 2023-09-01 中国农业科学院农业信息研究所 表盘的读数方法、装置、计算机设备及可读存储介质
CN112051003B (zh) * 2020-09-10 2021-09-14 中国科学院自动化研究所 液压表自动产品检测装置、检测方法及读取方法
CN113255547B (zh) * 2021-06-03 2024-02-09 上海申瑞继保电气有限公司 电力仪表指针图像轮廓计算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778823A (zh) * 2016-11-22 2017-05-31 国网湖北省电力公司宜昌供电公司 一种指针式仪表读数自动识别方法
CN107609557A (zh) * 2017-08-24 2018-01-19 华中科技大学 一种指针式仪表读数识别方法
CN108764253A (zh) * 2018-05-15 2018-11-06 杭州电子科技大学 指针式仪表数字化方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170089692A1 (en) * 2015-09-24 2017-03-30 Rita Chattopadhyay Monitoring of gauges
US10354137B2 (en) * 2016-09-30 2019-07-16 Intel Corporation Robust monitoring gauges

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778823A (zh) * 2016-11-22 2017-05-31 国网湖北省电力公司宜昌供电公司 一种指针式仪表读数自动识别方法
CN107609557A (zh) * 2017-08-24 2018-01-19 华中科技大学 一种指针式仪表读数识别方法
CN108764253A (zh) * 2018-05-15 2018-11-06 杭州电子科技大学 指针式仪表数字化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Research of SF6 Pressure Gauge Automatic Reading Methods Based on Machine Vision;Song Yao 等;《CCTA 2014: Computer and Computing Technologies in Agriculture VIII》;20151231;第534-545页 *
变电站指针式仪表读数识别方法研究;周怡娜;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20190115(第1期);C042-2085 *
基于数字图像处理技术的指针式仪表识别系统;刘阳;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170115(第1期);I138-735 *

Also Published As

Publication number Publication date
CN110378326A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110378326B (zh) 一种机械式指针压力表读数识别方法
CN109993166B (zh) 基于刻度查找的指针式仪表读数自动识别方法
US6459822B1 (en) Video image stabilization and registration
CN101770582B (zh) 图像匹配系统及方法
US10311322B2 (en) Character information recognition method based on image processing
CN109285198B (zh) 一种环形编码标记点的编码及识别方法
CN109508709B (zh) 一种基于机器视觉的单指针仪表读数方法
CN110852954B (zh) 指针式仪表的图像倾斜校正方法及系统
CN107871137A (zh) 一种基于图像识别的物料匹配方法
CN102982561A (zh) 适用于彩色图像彩色的二进制鲁棒尺度不变特征检测方法
CN111256607B (zh) 一种基于三通道标志点的变形测量方法
CN113129397B (zh) 一种基于图形几何关系的平行四边形编码标志的解码方法
CN101510265B (zh) 一种关联运动数字字符智能识别方法
CN107710229B (zh) 图像中的形状识别方法、装置、设备及计算机存储介质
CN113591875B (zh) 一种高精度指针式仪表识别方法
CN112712058A (zh) 一种字符识别提取方法
CN112232209A (zh) 用于变电站巡检机器人的指针式仪表盘读数的识别方法
CN116518868A (zh) 基于人工智能的变形测量方法、装置、设备及存储介质
CN104112278A (zh) 基于协方差的多光谱图像实时配准方法
CN115690500A (zh) 一种基于改进u2型网络的仪表识别方法
CN112200004B (zh) 图像检测模型的训练方法、装置及终端设备
CN113221914B (zh) 一种基于杰卡德距离的图像特征点匹配和误匹配剔除方法
CN113223098B (zh) 图像颜色分类的预处理优化方法
CN115239952A (zh) 基于YOLOV5及U2-Net框架辅助读取工业表的方法
CN113642582A (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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 315331 No. 521, Wenwei Road, Baisha road street, Cixi City, Ningbo City, Zhejiang Province

Patentee after: COLLEGE OF SCIENCE & TECHNOLOGY NINGBO University

Address before: 315212 No. 505 Yuxiu Road, Zhuangshi Street, Zhenhai District, Ningbo City, Zhejiang Province

Patentee before: COLLEGE OF SCIENCE & TECHNOLOGY NINGBO University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220907

Address after: No.3, West Industrial Park Road, yanwugang village, Zhusha Town, Tongxu County, Kaifeng City, Henan Province

Patentee after: Henan Borui fluid equipment Co.,Ltd.

Address before: 315331 No. 521, Wenwei Road, Baisha road street, Cixi City, Ningbo City, Zhejiang Province

Patentee before: COLLEGE OF SCIENCE & TECHNOLOGY NINGBO University