CN107292310B - 一种圆形指针式表盘视觉定位及自动读数方法 - Google Patents

一种圆形指针式表盘视觉定位及自动读数方法 Download PDF

Info

Publication number
CN107292310B
CN107292310B CN201710464408.8A CN201710464408A CN107292310B CN 107292310 B CN107292310 B CN 107292310B CN 201710464408 A CN201710464408 A CN 201710464408A CN 107292310 B CN107292310 B CN 107292310B
Authority
CN
China
Prior art keywords
image
radius
pointer
area
taking
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
CN201710464408.8A
Other languages
English (en)
Other versions
CN107292310A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201710464408.8A priority Critical patent/CN107292310B/zh
Publication of CN107292310A publication Critical patent/CN107292310A/zh
Application granted granted Critical
Publication of CN107292310B publication Critical patent/CN107292310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/02Recognising information on displays, dials, clocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种圆形指针式表盘视觉定位及自动读数方法,属于电力仪表自动化及其视觉应用领域。本发明包括读取带有复杂背景的表盘图像,图像灰度化及均衡,再利用随机Hough变换自动定位圆形表盘中心位置,同时检测出该中心位置对应的多个圆形轮廓,取最大轮廓所在区域提取精确表盘图像,取最小圆形轮廓对应半径,向外进行随机霍夫累积检测得到临近的两个较大圆,两个较大圆之间的条带区域为表盘刻度区域,进行阈值分割再膨胀和连通域滤波找出刻度初始位置和结束位置,采用线性拟合的方法找出指针位置,计算读数,本发明可以在复杂背景下直接定位出圆形仪表及仪表内的多个圆环,同时提出了一种新的定位指针位置的算法。

Description

一种圆形指针式表盘视觉定位及自动读数方法
技术领域
本发明涉及电力仪表自动化及其视觉应用领域,特别涉及一种圆形指针式表盘视觉定位及自动读数方法。
背景技术
在工业实际当中,电表的存在非常普遍,需要大量人力物力进行抄表工作,虽然电子仪表的出现大大减少了相关工作,但是目前在很多工厂中大部分仍然是传统的物理式指针仪表,物理式指针仪表有着精确,抗干扰等优势,而且大范围替代传统指针仪表需要耗费大量资金。
采用人工操作来检表,工作强度大,效率低,并且存在人为误差,自动化程度低,人为因素大,缺乏客观科学评定检测标准及依据,因此,如果利用工业当中存在的监控设备高效准确的检测仪表读数则可以既节省财力,又提高效率。要检测仪表的指针读数,核心问题是解决仪表指针直线的自动图像识别问题。近年来研究的一些智能化方法有如下缺点:(1)大多应用Hough变换来进行检测,但Hough变换计算量大、存储量大、检测精度不高,且检测容易受到噪声干扰,无法实际应用到实际实时检测***;(2)同时,在检测指针位置的过程中,基本上都采用填补法,这种算法较为复杂也易出错。
发明内容
本发明的目的在于克服现有技术中传统Hough变换速度慢、定位精确率低以及指针检测中填充算法复杂的问题,提供一种圆形指针式表盘视觉定位及自动读数方法,使用改进的随机Hough变换,定位准确迅速,同时提出一种新的定位指针位置的算法。
为了实现上述发明目的,本发明提供了以下技术方案:
一种圆形指针式表盘视觉定位及自动读数方法,包括以下步骤:
步骤1:读取表盘原始图像f(x,y),对原始图像进行直方图均衡化;
步骤2:对原始图像f(x,y)进行改进的随机Hough变换确定圆的圆心坐标(x,y),根据直方图均衡化后的图像确定圆的半径范围,,设置检测圆的重复次数n,检测同心多圆,得到n个圆的半径ri(i=1,2,3…n),同时,利用向量化编程提高运行速度;
步骤3:从圆的半径ri(i=1,2,3…n)中选取最大半径rn,提取仪表所在区域f'(x,y);
步骤4:在f'(x,y)中选取最小半径即r1按比例扩展,找到刻度盘区域h(x,y),对h(x,y)使用最大类间方差法确定阈值,进行阈值分割得到二值化图像,再计算得到刻度的起始位置和终点位置;
步骤5:在仪表所在区域f'(x,y)中取r1和r2组成条带区域h2(x,y),对条带区域h2(x,y)进行阈值分割,再进行形态学滤波;
步骤6:对形态学滤波后的条带区域h2(x,y)进行线性拟合,确定指针位置;
步骤7:结合步骤4得到的刻度起始位置和终点位置以及步骤6得到的指针位置,计算原始图像f(x,y)中的读数。
进一步,所述步骤1的具体步骤如下:
步骤1.1:读取表盘原始图像f(x,y);
步骤1.2:将原始图像f(x,y)进行直方图均衡化,具体公式如下:
Figure BDA0001325588460000021
其中,sk是均衡化之后的值为m的灰度,L是图像中的灰度级数量,MN是表盘图像f(x,y)中像素的总数,M是表盘图像f(x,y)每一行的像素个数,N是表盘图像f(x,y)每一列的像素个数,uj是原始图像f(x,y)中灰度为j的像素个数。
进一步,所述步骤2中随机Hough变换的具体步骤如下:
步骤2.1:根据直方图均衡化后的图像,设置检测圆的个数n,预设n=4,并设置理想半径区间,最小值为0,最大值为图像长度和宽度中较小值的1/2,根据半径区间确定随机Hough变换的累加区域;
步骤2.2:构造边缘点集,取x方向上的梯度值gx(x,y)和y方向上的梯度值gy(x,y),并计算该点的梯度幅值g(x,y),以g(x,y)中最大幅值的1/2为阈值,去除幅值较小的点;
步骤2.3:在筛选过后的点集中,以每个点为中心,以预设的半径区间为边长,构建每个点对应的检测矩阵,对该矩阵内所有经过筛选的点进行随机Hough变换累积,利用Repmat函数构建向量化矩阵,使每个点都累积完成;
步骤2.4:筛选累积结果,若累积结果超出图像范围,则设为无效;否则设为有效;
步骤2.5:统计每个点筛选后的累积结果,其重复出现次数最多的累积坐标(x,y)即为圆心坐标;
步骤2.6:以圆心(x,y)为中心,根据预设半径区间向外统计不同半径下圆形轮廓对应的幅值进行累加,将幅值合从小到大排列,根据设置检测圆的个数取对应半径大小。
进一步,所述步骤3阈值分割的具体步骤如下:
步骤3.1:选取步骤2中最大半径rn的2倍为矩阵边长,以圆心为中心,截取指针所在区域f'(x,y);
进一步,所述步骤4确定刻度盘区域的具体步骤如下:
步骤4.1:选取最小半径r1,在仪表所在区域f'(x,y)按比例放大半径,其公式为
(x-x0)2+(y-y0)2=pr2 (7)
其中p为比例系数,(x0,y0)是检测圆的圆心,r为圆按比例放大的半径,取r1和r间区域,即为指针刻度所在的刻度盘区域h(x,y);
步骤4.2:对刻度盘区域h(x,y)进行阈值分割,阈值分割的公式如下:
Figure BDA0001325588460000031
Figure BDA0001325588460000032
Figure BDA0001325588460000041
Figure BDA0001325588460000042
Figure BDA0001325588460000043
其中gm(x,y)是阈值分割之后的图像,h(x,y)指在仪表所在区域f'(x,y)中选取区域,k*是自适应的最佳阈值,mG是h(x,y)的平均灰度,即全局阈值,m(k)是累加至灰度级m的均值,P1(k)表示像素被分到类C1的概率,pi表示像素值为i的像素在图像中的百分比,
Figure BDA0001325588460000044
设阈值T(k)=k,并使选取区域h(x,y)阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差,参数pi、T(k)、P1(k)、C1、C2和σ2因不同步骤的h(x,y)而改变;
步骤4.3:搜索该区域内左下角和右下角点即为起始位置和终点位置。
进一步,所述步骤5的具体步骤如下:
步骤5.1:根据步骤2中得到的半径ri(i=1,2,3…n),选取最小的两个半径r1和r2进行环形区域提取的到条带区域h2(x,y)进行阈值分割,公式如步骤4.2所示;
步骤5.2:对阈值分割后的条带区域进行取反得h2'(x,y),再进行形态学滤波中的膨胀变换,膨胀公式如下:
Figure BDA0001325588460000045
其中,B为膨胀算子,设为
Figure BDA0001325588460000046
A为处理对象即取反的条带区域h2'(x,y),B关于原点翻转,逐步移动以划过整个集合A,增长或粗化图像A,以修复连接效果不好的指针区域。
进一步,所述步骤6确定指针所在区域的具体步骤如下:
步骤6.1:取最小的两个半径r1和r2,求取半径平均值rave,使
Figure BDA0001325588460000051
根据圆的几何性质:
Figure BDA0001325588460000052
αi=3*i,i=1,2,3…t (10)
得到t个坐标点(xi,yi),并以红点标出,预设t=120;
步骤6.2:将圆心坐标(x,y)和步骤6.1中取的坐标点(xi,yi)分别求对应斜率ri,公式为:
Figure BDA0001325588460000053
步骤6.3:以(xi,yi)为点中心,构建a*a矩阵Mi,a由步骤6.1中决定的rave确定,公式为:
Figure BDA0001325588460000054
使该矩阵主要包含像素值为0的区域而且含有尽量少的边界像素值为1的像素点,矩阵Mi内共有a*a个坐标点,每个坐标点以(xid,yid)表示;
d=1,2,3.....a2 (13)
步骤6.4:统计Mi中像素值为1的像素点,记录对应坐标(xid,yid),利用公式:
Figure BDA0001325588460000055
Figure BDA0001325588460000056
计算该矩阵中所有像素值为1的点对应的回归方程斜率,取对应d使得满足min(|r-ri|),由d确定的点即为指针对应坐标点。
进一步,所述步骤7的具体步骤如下:
步骤7.1:计算圆心(x,y)到刻度的起始位置的向量
Figure BDA0001325588460000061
与圆心(x,y)到指针位置的向量
Figure BDA0001325588460000062
之间的夹角θ1
步骤7.2:计算圆心(x,y)到刻度的起始位置的向量
Figure BDA0001325588460000063
与圆心(x,y)到刻度的终点位置的向量
Figure BDA0001325588460000064
之间的夹角θ2
步骤7.3:夹角之比θ12即是指针读数,所述夹角θ1和夹角θ2的计算公式如下:
Figure BDA0001325588460000065
其中,
Figure BDA0001325588460000066
表示向量的夹角θ1
Figure BDA0001325588460000067
表示向量内积,
Figure BDA0001325588460000068
Figure BDA0001325588460000069
表示向量的模,如果计算夹角θ2时,需要将公式中的
Figure BDA00013255884600000610
替换为
Figure BDA00013255884600000611
即有
Figure BDA00013255884600000612
表示向量的夹角θ2
Figure BDA00013255884600000613
表示向量内积,
Figure BDA00013255884600000614
Figure BDA00013255884600000615
表示向量的模,需要注意的是,令
Figure BDA00013255884600000616
当x1≤0,y1≤0或者x1≤0,y1≥0或者x1≥0,y1≥0时,若
Figure BDA00013255884600000617
则直接输出
Figure BDA00013255884600000618
作为向量
Figure BDA00013255884600000619
和向量
Figure BDA00013255884600000620
的夹角,反之,当x1≥0,y1≤0或者当x1≥0,y1≥0时,若
Figure BDA00013255884600000621
时,令
Figure BDA00013255884600000622
作为向量
Figure BDA00013255884600000623
和向量
Figure BDA00013255884600000624
的夹角。
与现有技术相比,本发明的有益效果:
1、指针检测的算法与传统的填补法不同,利用简单的线性拟合就可以定位指针位置,运行量低,占用内存小,准确率高且速度快;
2、算法定位准确,可以在复杂背景下检测出多个圆,直接提取出检测区域,不需要拟合,同时检测出为同心多圆,可直接定位出圆形仪表以及仪表内的多个圆环;
3、可移植到C++平台下运行,并且也可以移植到其他平台。
附图说明
图1为本发明的方法流程图;
图2为本发明中的原始图像;
图3为本发明中用随机Hough变换初步提取到的表盘图像并以蓝色线标识的示意图;
图4为本发明中截取指针所在的f'(x,y)区域;
图5为本发明中提取等比例扩大后截取的读数区域h(x,y)示意图;
图6为本发明中检测到读数区域的起始位置和终点位置;
图7为本发明中条带区域h2(x,y)的阈值分割结果;
图8为本发明中对h2(x,y)进行取反并膨胀的结果;
图9为本发明中定位指针在h2(x,y)对应点的示意图;
图10为本发明中最后的结果。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
结合附图,一种圆形指针式表盘视觉定位及自动读数方法,包括以下几个步骤:
步骤1:读取表盘原始图像f(x,y),对原始图像进行直方图均衡化;
具体地,包括以下几个步骤:
步骤1.1:读取表盘原始图像f(x,y),如图2所示;
步骤1.2:将原始图像进行直方图均衡化,具体公式如下:
Figure BDA0001325588460000071
其中,sk是均衡化之后的值为m的灰度,L是图像中的灰度级数量,MN是表盘图像f(x,y)像素的总数,M是表盘图像f(x,y)每一行的像素个数,N是表盘图像f(x,y)每一列的像素个数,uj是原始图像f(x,y)中灰度为j的像素个数。
步骤2:根据原始图像f(x,y)确定圆的大致半径范围,对原始图像f(x,y)进行改进的随机Hough变换确定圆的圆心坐标(x,y),根据直方图均衡化后的图像,设置重复次数k,检测同心多圆,得到n个圆的半径ri(i=1,2,3…n),同时,利用向量化编程提高运行速度,本实例中,随机Hough变换初步提取到的表盘图像并以蓝色线标识的示意图如图3所示;
具体地,步骤2包括以下几个步骤:
步骤2.1:根据直方图均衡化后的图像,设置检测圆的个数n,预设n=4,并设置理想半径区间,最小值为0,最大值为图像长度和宽度中较小值的1/2,根据半径区间确定随机Hough变换的累加区域;
步骤2.2:构造边缘点集,取x方向上的梯度值gx(x,y)和y方向上的梯度值gy(x,y),并计算该点的梯度幅值g(x,y),以g(x,y)中最大幅值的1/2为阈值,去除幅值较小的点;
步骤2.3:在筛选过后的点集中,以每个点为中心,以预设的半径区间为边长,构建每个点对应的检测矩阵,对该矩阵内所有经过筛选的点进行随机Hough变换累积,利用Repmat函数构建向量化矩阵,代替for循环使每个点都累积完成;
步骤2.4:筛选累积结果,若累积结果超出图像范围,则设为无效,否则设为有效;
步骤2.5:统计每个点筛选后的累积结果,重复出现次数最多的累积坐标(x,y)即为圆心坐标;
步骤2.6:以圆心(x,y)为中心,根据预设半径区间向外统计不同半径下圆形轮廓对应的幅值进行累加,将幅值合从小到大排列,根据设置检测圆的个数取对应半径大小。
步骤3:从圆的半径ri(i=1,2,3…n)中选取最大半径rn,提取仪表所在区域f'(x,y),对f'(x,y)使用最大类间方差法确定阈值,进行阈值分割得到二值化图像f2'(x,y);
具体地,步骤3包括以下几个步骤:
步骤3.1:选取步骤2中最大半径rn的2倍为矩阵边长,以圆心为中心,截取指针所在区域f'(x,y),本实例中,截取指针所在区域f'(x,y)示意图如图4所示;
步骤4:在f2'(x,y)中选取最小半径即r1按比例扩展,找到刻度盘区域h(x,y),进行阈值分割,计算得到刻度的起始位置和终点位置;
具体地,包括以下几个步骤:
步骤4.1:选取最小半径r1,按比例放大半径,其公式为
(x-x0)2+(y-y0)2=pr2 (7)
其中p为比例系数,(x0,y0)是检测圆的圆心,r为圆按比例放大的半径,取r1和r间区域,即为指针刻度所在的刻度盘区域h(x,y),本实例中,图5为提取等比例扩大后截取的读书区域h(x,y)示意图;
步骤4.2:对h(x,y)进行阈值分割,阈值分割的公式如下:
Figure BDA0001325588460000091
Figure BDA0001325588460000092
Figure BDA0001325588460000093
Figure BDA0001325588460000094
Figure BDA0001325588460000095
其中gm(x,y)是阈值分割之后的图像,h(x,y)指在仪表所在区域f'(x,y)中选取区域,k*是自适应的最佳阈值,mG是h(x,y)的平均灰度,即全局阈值,m(k)是累加至灰度级m的均值,P1(k)表示像素被分到类C1的概率,pi表示像素值为i的像素在图像中的百分比,
Figure BDA0001325588460000101
设阈值T(k)=k,并使选取区域h(x,y)阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差,参数pi、T(k)、P1(k)、C1、C2和σ2因不同步骤的选取区域h(x,y)而改变;
步骤4.3:搜索该区域内左下角和右下角点即为起始位置和终点位置,本实例检测到读数区域的起始和终点位置如图6所示。
步骤5:在仪表所在区域f'(x,y)中选取最小的两个半径r1和r2组成条带区域h2(x,y),对条带区域进行阈值分割,再进行形态学滤波;
具体地,包括以下几个步骤:
步骤5.1:根据步骤2中得到的半径ri(i=1,2,3…n),选取最小的两个半径r1和r2进行环形区域提取条带区域h2(x,y)进行阈值分割,阈值分割公式如步骤4.2所示,得到本实例中如图7所示的条带区域h2(x,y)的阈值分割结果;
步骤5.2:对阈值分割后的条带区域进行取反得h2'(x,y),再进行形态学滤波中的膨胀变换,膨胀公式如下:
Figure BDA0001325588460000102
其中,B为膨胀算子,设为
Figure BDA0001325588460000103
A为处理对象即取反的条带区域h2'(x,y),,B关于原点翻转,逐步移动以划过整个集合A,增长或粗化图像A,以修复连接效果不好的指针区域,本实例对h2(x,y)进行取反并膨胀的结果如图8所示。
步骤6:对条带区域h2'(x,y)进行线性拟合,确定指针位置;
具体地,包括以下几个步骤:
步骤6.1:取最小的两个半径r1和r2,求取半径平均值rave,使
Figure BDA0001325588460000111
根据圆的几何性质:
Figure BDA0001325588460000112
αi=3*i,i=1,2,3…t (10)
得到t个坐标点(xi,yi),预设t=120;
步骤6.2:将圆心坐标(x,y)和步骤6.1中取的坐标点(xi,yi)分别求对应斜率ri,公式为:
Figure BDA0001325588460000113
步骤6.3:以(xi,yi)为点中心,构建a*a矩阵Mi,a由步骤6.1中决定的rave确定,公式为:
Figure BDA0001325588460000114
使该矩阵主要包含像素值为0的区域而且含有尽量少的边界像素值为1的像素点,矩阵Mi内共有a*a个坐标点,每个坐标点以
Figure BDA0001325588460000115
表示;
d=1,2,3.....a2 (13)
步骤6.4:统计Mi中像素值为1的像素点,记录对应坐标
Figure BDA0001325588460000116
利用公式:
Figure BDA0001325588460000117
Figure BDA0001325588460000118
计算该矩阵中所有像素值为1的点对应的回归方程斜率,取对应d使得满足min(|r-ri|),由d确定的点即为指针对应坐标点,本实例中,定位指针在h2(x,y)对应点的示意图如图9所示。
步骤7:结合步骤4得到的刻度起始位置和终点位置以及步骤6得到的指针位置,计算原始图像f(x,y)中的读数,本实例得到的结果如图10所示。
具体地,包括以下几个步骤:
步骤7.1:计算圆心(x,y)到刻度的起始位置的向量
Figure BDA0001325588460000121
与圆心(x,y)到指针位置的向量
Figure BDA0001325588460000122
之间的夹角θ1
步骤7.2:计算圆心(x,y)到刻度的起始位置的向量
Figure BDA0001325588460000123
与圆心(x,y)到刻度的终点位置的向量
Figure BDA0001325588460000124
之间的夹角θ2
步骤7.3:夹角之比θ12即是指针读数,所述夹角θ1和夹角θ2的计算公式如下:
Figure BDA0001325588460000125
其中,
Figure BDA0001325588460000126
表示向量的夹角θ1
Figure BDA0001325588460000127
表示向量内积,
Figure BDA0001325588460000128
Figure BDA0001325588460000129
表示向量的模,如果计算夹角θ2时,需要将公式中的
Figure BDA00013255884600001210
替换为
Figure BDA00013255884600001211
即有
Figure BDA00013255884600001212
表示向量的夹角θ2
Figure BDA00013255884600001213
表示向量内积,
Figure BDA00013255884600001214
Figure BDA00013255884600001215
表示向量的模,需要注意的是,令
Figure BDA00013255884600001216
若x1≤0,y1≤0或者x1≤0,y1≥0或者当x1≥0,y1≥0时,若
Figure BDA00013255884600001217
则直接输出
Figure BDA00013255884600001218
作为向量
Figure BDA00013255884600001219
和向量
Figure BDA00013255884600001220
的夹角,反之,若x1≥0,y1≤0或者当x1≥0,y1≥0时,若
Figure BDA00013255884600001221
时,令
Figure BDA00013255884600001222
作为向量
Figure BDA00013255884600001223
和向量
Figure BDA00013255884600001224
的夹角。

Claims (7)

1.一种圆形指针式表盘视觉定位及自动读数方法,包括以下步骤:
步骤1:读取表盘原始图像f(x,y),对原始图像f(x,y)进行直方图均衡化;
步骤2:对原始图像f(x,y)进行改进的随机Hough变换确定圆的圆心坐标(x,y),根据直方图均衡化后的图像确定圆的半径范围,检测同心多圆,得到n个圆的半径ri(i=1,2,3...n);
所述步骤2中随机Hough变换的具体步骤如下:
步骤2.1:根据直方图均衡化后的图像,设置检测圆的个数n,预设n=4,并设置理想半径区间,最小值为0,最大值为图像长度和宽度中较小值的1/2,根据半径区间确定随机Hough变换的累加区域;
步骤2.2:构造边缘点集,取x方向上的梯度值gx(x,y)和y方向上的梯度值gy(x,y),并计算该点的梯度幅值g(x,y),以g(x,y)中最大幅值的1/2为阈值,去除幅值较小的点;
步骤2.3:在筛选过后的点集中,以每个点为中心,以预设的半径区间为边长,构建每个点对应的检测矩阵,对该矩阵内所有经过筛选的点进行随机Hough变换累积,利用Repmat函数构建向量化矩阵,使每个点都累积完成;
步骤2.4:筛选累积结果,若累积结果超出图像范围,则设为无效;否则设为有效;
步骤2.5:统计每个点筛选后的累积结果,其重复出现次数最多的累积坐标(x,y)即为圆心坐标;
步骤2.6:以圆心(x,y)为中心,根据预设半径区间向外统计不同半径下圆形轮廓对应的幅值进行累加,将幅值合从小到大排列,根据设置检测圆的个数取对应半径大小;
步骤3:从圆的半径ri(i=1,2,3...n)中选取最大半径rn,提取仪表所在区域f'(x,y);
步骤4:在仪表所在区域f'(x,y)中选取最小半径即r1按比例扩展,找到刻度盘区域h(x,y),对刻度盘区域h(x,y)使用最大类间方差法确定阈值,进行阈值分割得到二值化图像,计算得到刻度的起始位置和终点位置;
步骤5:在仪表所在区域f'(x,y)中选取最小的两个半径r1和r2组成条带区域h2(x,y),对条带区域h2(x,y)进行阈值分割,再进行形态学滤波;
步骤6:对形态学滤波后的条带区域h2(x,y)进行线性拟合,确定指针位置;
步骤7:结合步骤4得到的刻度起始位置和终点位置以及步骤6得到的指针位置,计算原始图像f(x,y)中的读数。
2.根据权利要求1所述的一种圆形指针式表盘视觉定位及自动读数方法,其特征在于,所述步骤1的具体步骤如下:
步骤1.1:读取表盘原始图像f(x,y);
步骤1.2:将原始图像f(x,y)进行直方图均衡化,具体公式如下:
Figure FDA0002623799380000021
其中,sk是均衡化之后的值为m的灰度,L是图像中的灰度级数量,MN是表盘图像f(x,y)像素的总数,M是表盘图像f(x,y)每一行的像素个数,N是表盘图像f(x,y)每一列的像素个数,uj是原始图像f(x,y)中灰度为j的像素个数。
3.根据权利要求1所述的一种圆形指针式表盘视觉定位及自动读数方法,其特征在于,所述步骤3具体步骤如下:
步骤3.1:选取步骤2中最大半径的2倍为矩阵边长,以圆心为中心,截取指针所在区域f'(x,y)。
4.根据权利要求1所述的一种圆形指针式表盘视觉定位及自动读数方法,其特征在于,所述步骤4确定刻度盘区域的具体步骤如下:
步骤4.1:选取最小半径r1,在仪表所在区域f'(x,y)中按比例放大半径,其公式为:
(x-x0)2+(y-y0)2=pr2 (2)
其中,p为比例系数,(x0,y0)是检测圆的圆心,r为圆按比例放大的半径,取r1和r间区域,即为指针刻度所在的刻度盘区域h(x,y);
步骤4.2:对刻度盘区域h(x,y)进行阈值分割,阈值分割的公式如下:
Figure FDA0002623799380000031
Figure FDA0002623799380000032
Figure FDA0002623799380000033
Figure FDA0002623799380000034
Figure FDA0002623799380000035
其中gm(x,y)是阈值分割之后的图像,h(x,y)指在仪表所在区域f'(x,y)中选取的区域,k*是自适应的最佳阈值,mG是h(x,y)的平均灰度,即全局阈值,m(k)是累加至灰度级m的均值,P1(k)表示像素被分到类C1的概率,pi表示像素值为i的像素在图像中的百分比,
Figure FDA0002623799380000036
设阈值T(k)=k,并使h(x,y)阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差,参数pi、T(k)、P1(k)、C1、C2和σ2因不同步骤的h(x,y)而改变;
步骤4.3:搜索该区域f'(x,y)内左下角和右下角点即为起始位置和终点位置。
5.根据权利要求1所述的一种圆形指针式表盘视觉定位及自动读数方法,其特征在于,所述步骤5的具体步骤如下:
步骤5.1:根据步骤2中得到的半径ri(i=1,2,3...n),选取最小的两个半径r1和r2进行提取条带区域h2(x,y)进行阈值分割,阈值分割的公式如步骤4.2所示;
步骤5.2:对阈值分割后的条带区域取反得h2'(x,y),再进行形态学滤波中的膨胀变换,膨胀公式如下:
Figure FDA0002623799380000041
其中,B为膨胀算子,设为
Figure FDA0002623799380000042
A为处理对象即取反的条带区域h2'(x,y),z为平移的整数集合,
Figure FDA0002623799380000043
为B关于原点翻转,逐步移动以划过整个集合A,增长或粗化图像A,以修复连接效果不好的指针区域。
6.根据权利要求1所述的一种圆形指针式表盘视觉定位及自动读数方法,其特征在于,所述步骤6确定指针所在区域的具体步骤如下:
步骤6.1:取最小的两个半径r1和r2,求取半径平均值rave,使
Figure FDA0002623799380000044
根据圆的几何性质:
Figure FDA0002623799380000045
αi=3*i,i=1,2,3...t (10)
得到t个坐标点(xi,yi),预设t=120;
步骤6.2:将圆心坐标(x,y)和步骤6.1中取的坐标点(xi,yi)分别求对应斜率ri,公式为:
Figure FDA0002623799380000046
步骤6.3:以(xi,yi)为点中心,构建a*a矩阵Mi,a由步骤6.1中决定的rave确定,公式为:
Figure FDA0002623799380000047
使该矩阵主要包含像素值为0的区域而且含有尽量少的边界像素值为1的像素点,矩阵Mi内共有a*a个坐标点,每个坐标点以
Figure FDA0002623799380000048
表示;
d=1,2,3.....a2 (13)
步骤6.4:统计Mi中像素值为1的像素点,记录对应坐标
Figure FDA0002623799380000051
利用公式:
Figure FDA0002623799380000052
Figure FDA0002623799380000053
计算该矩阵中所有像素值为1的点对应的回归方程斜率,取对应j使得满足min(|r-ri|),该点即为指针对应坐标点。
7.根据权利要求1所述的一种圆形指针式表盘视觉定位及自动读数方法,其特征在于,所述步骤7的具体步骤如下:
步骤7.1:计算圆心(x,y)到刻度的起始位置的向量
Figure FDA0002623799380000054
与圆心(x,y)到指针位置的向量
Figure FDA0002623799380000055
之间的夹角θ1
步骤7.2:计算圆心(x,y)到刻度的起始位置的向量
Figure FDA0002623799380000056
与圆心(x,y)到刻度的终点位置的向量
Figure FDA0002623799380000057
之间的夹角θ2
步骤7.3:夹角之比θ12即是指针读数,所述夹角θ1和夹角θ2的计算公式如下:
Figure FDA0002623799380000058
其中,
Figure FDA0002623799380000059
表示向量的夹角θ1
Figure FDA00026237993800000510
表示向量内积,
Figure FDA00026237993800000511
Figure FDA00026237993800000512
表示向量的模,若计算夹角θ2时,将公式中的
Figure FDA00026237993800000513
替换为
Figure FDA00026237993800000514
即有
Figure FDA00026237993800000515
表示向量的夹角θ2
Figure FDA00026237993800000516
表示向量内积,
Figure FDA00026237993800000517
Figure FDA00026237993800000518
表示向量的模,令
Figure FDA00026237993800000519
Figure FDA00026237993800000520
当x1≤0,y1≤0或者x1≤0,y1≥0或者x1≥0,y1≥0时,若
Figure FDA0002623799380000061
则直接输出
Figure FDA0002623799380000062
作为向量
Figure FDA0002623799380000063
和向量
Figure FDA0002623799380000064
的夹角,当x1≥0,y1≤0或者x1≥0,y1≥0时,若
Figure FDA0002623799380000065
时,令
Figure FDA0002623799380000066
作为向量
Figure FDA0002623799380000067
和向量
Figure FDA0002623799380000068
的夹角。
CN201710464408.8A 2017-06-19 2017-06-19 一种圆形指针式表盘视觉定位及自动读数方法 Active CN107292310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710464408.8A CN107292310B (zh) 2017-06-19 2017-06-19 一种圆形指针式表盘视觉定位及自动读数方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710464408.8A CN107292310B (zh) 2017-06-19 2017-06-19 一种圆形指针式表盘视觉定位及自动读数方法

Publications (2)

Publication Number Publication Date
CN107292310A CN107292310A (zh) 2017-10-24
CN107292310B true CN107292310B (zh) 2020-10-09

Family

ID=60096638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710464408.8A Active CN107292310B (zh) 2017-06-19 2017-06-19 一种圆形指针式表盘视觉定位及自动读数方法

Country Status (1)

Country Link
CN (1) CN107292310B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034170B (zh) * 2018-07-18 2022-02-11 东南大学 一种开关柜检测装置的圆形指针式仪表读数方法
CN109284718B (zh) * 2018-09-26 2021-09-24 大连航佳机器人科技有限公司 面向巡检机器人的变视角多仪表同时识别方法
CN109341933A (zh) * 2018-09-29 2019-02-15 广东电网有限责任公司 压力值的在线监测方法、装置及***
CN111220235B (zh) * 2018-11-23 2022-03-08 杭州海康威视数字技术股份有限公司 水位监测方法及装置
CN110111387B (zh) * 2019-04-19 2021-07-27 南京大学 一种基于表盘特征的指针表定位及读数方法
CN110580480B (zh) * 2019-07-21 2023-12-01 天津大学 基于图像处理的表计读数识别方法
CN110991233B (zh) * 2019-10-29 2023-05-12 沈阳天眼智云信息科技有限公司 指针式压力表的自动读数方法
CN111126371B (zh) * 2019-11-22 2022-08-30 重庆大学 一种基于图像处理的粗指针表盘示数读取方法
CN111103533B (zh) * 2019-12-12 2020-09-25 常州机电职业技术学院 一种基于视觉的十位旋转拨码开关复位***的复位方法
CN111242894B (zh) * 2019-12-30 2022-12-16 芜湖哈特机器人产业技术研究院有限公司 一种水泵叶轮叶片视觉识别方法
CN112418222B (zh) * 2020-12-07 2023-07-25 安徽江淮汽车集团股份有限公司 车载液晶组合量表识别方法、装置、设备及存储介质
CN113610041A (zh) * 2021-08-18 2021-11-05 山东信通电子股份有限公司 一种用于指针式仪表的读数识别方法及设备
CN114429550A (zh) * 2021-12-17 2022-05-03 成都昱风能源有限公司 一种基于计算机视觉的风电机舱圆表油位监测方法
CN114821044B (zh) * 2022-05-31 2024-05-03 中煤科工机器人科技有限公司 一种基于梯度变换的方形指针式仪表示数识别方法
CN118096898B (zh) * 2024-04-26 2024-06-25 万灵帮桥医疗器械(广州)有限责任公司 基于placido图像的特征点标定方法、装置、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UA84801U (ru) * 2013-09-18 2013-10-25 Роман Ігорович Ліщук Способ автоматизированного распознавания показаний значений со шкал стрелочных измерительных приборов
CN104484857B (zh) * 2014-12-26 2017-08-18 国网重庆市电力公司电力科学研究院 一种仪表数据读取方法及***
CN105550683A (zh) * 2015-12-07 2016-05-04 重庆大学 基于视觉的指针式仪表自动读取***和方法
CN106228161B (zh) * 2016-07-18 2019-04-19 电子科技大学 一种指针式表盘自动读数方法
CN106295665B (zh) * 2016-08-13 2019-10-01 国网福建省电力有限公司 一种变电站指针式仪表读数自动识别方法
CN106529559A (zh) * 2016-12-30 2017-03-22 山东鲁能软件技术有限公司 一种指针式圆形多仪表盘实时读数识别方法

Also Published As

Publication number Publication date
CN107292310A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN107292310B (zh) 一种圆形指针式表盘视觉定位及自动读数方法
CN107808378B (zh) 基于垂直纵横线轮廓特征的复杂结构铸件潜在缺陷检测方法
CN108921176B (zh) 一种基于机器视觉的指针式仪表定位与识别方法
CN111160337B (zh) 一种指针式仪表读数的自动识别方法、***、介质及设备
CN104463795B (zh) 一种点阵式dm二维码图像处理方法及装置
CN109325935B (zh) 一种基于无人机图像的输电线路检测方法
CN108376403B (zh) 基于霍夫圆变换的网格菌落图像分割方法
CN109060836A (zh) 基于机器视觉的高压油管接头外螺纹检测方法
CN109376740A (zh) 一种基于视频的水尺读数检测方法
CN105354866A (zh) 一种多边形轮廓相似度检测方法
CN108764234B (zh) 一种基于巡检机器人的液位仪表读数识别方法
CN102254191B (zh) 一种基于图像处理的降水粒子相态识别方法
CN114549981A (zh) 一种基于深度学习的智能巡检指针式仪表识别及读数方法
CN107358237A (zh) 一种去环境干扰的多仪表盘自动读数方法
CN109658391B (zh) 一种基于轮廓归并和凸包拟合的圆半径测量方法
CN103955922A (zh) 基于Gabor滤波器的印花织物疵点检测方法
CN113077392B (zh) 一种针对指针表模糊照片的高准确度自动读数方法
CN111539330B (zh) 一种基于双svm多分类器的变电站数显仪表识别方法
CN112734729B (zh) 适用于夜间补光条件的水尺水位线图像检测方法、装置及存储介质
CN109359604B (zh) 面向巡检机器人的阴影干扰下仪表识别方法
CN111445511B (zh) 一种图像中圆的检测方法
CN112381140B (zh) 一种基于新特征参数的磨粒图像机器学习识别方法
Ying et al. Research on an automatic counting method for steel bars' image
CN111815542A (zh) 一种树木年轮图像髓心定位、年轮测量方法
CN114742849B (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