CN106228161B - 一种指针式表盘自动读数方法 - Google Patents
一种指针式表盘自动读数方法 Download PDFInfo
- Publication number
- CN106228161B CN106228161B CN201610562199.6A CN201610562199A CN106228161B CN 106228161 B CN106228161 B CN 106228161B CN 201610562199 A CN201610562199 A CN 201610562199A CN 106228161 B CN106228161 B CN 106228161B
- Authority
- CN
- China
- Prior art keywords
- image
- dial plate
- outer profile
- pointer
- indicate
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation 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/267—Segmentation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种指针式表盘自动读数方法,属于机器视觉领域,解决现有技术中噪声、环境的干扰读数的问题。包括读取原始图像,提取原始图像中表盘图像,并将表盘图像进行直方图均衡化;将表盘图像分开,阈值分割,合并提取外轮廓;将拟合成椭圆,确定精确的表盘图像;再次进行阈值分割,并提取阈值分割后图像的最内层椭圆外轮廓;将拟合成椭圆,得到拟合成椭圆的圆心;将椭圆等比例放大成两个不同大小的大椭圆,两个大椭圆之间的条带区域就是表盘的刻度区域,找出刻度初始位置;将条带区域进行最小值滤波和阈值分割,采用填补法找出指针位置;按照拟合出的椭圆的长短轴之比,将条带区域修复成正圆;最后计算读数。用于精确读数指针式表盘图像。
Description
技术领域
一种指针式表盘自动读数方法,用于精确读数指针式表盘图像,属于机器视觉领域。
背景技术
“机器视觉”是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。
而对仪表的智能读数,是机器视觉在工程应用中一个重要的分支。在现代工业中,很多参数都需要实时的测量,例如耗电量,汽车油量的多少,而这些量的多少均需要用仪表来指示。如果仪表的数量非常巨大(实际上确实非常巨大),那么纯粹依靠人来读取仪表数据会相当麻烦。所以,我们需有用机器视觉的方法令智能设备对仪表的读数进行自动的读取。
然而在硬件设备成像过程中,智能设备就如同人眼一样,要面临光照变化,模式识别,实时性等多方面的困难。所以研究人员们在设计算法时,既要克服噪声、环境的干扰,也要面临对各种不同特征的定性和定量的分析。
近些年来有不少的研究机构和企业对仪表的智能读数作出了研究。2014年,闫钧华、杭谊青和段贺等人提出了对图像进行Hough圆检测,使用加权平均法定位表盘圆心及半径,提取表盘区域方形图像,然后进行图像预处理,提取仪表指针二值细化图像,使用中心投影法确定指针角度并提取零刻度线、满刻度线位置模板,标定量程起点、终点位置。但是Hough变换计算量比较大,而且定位不够准确,而中心投影法的投影大小随着物体改变而改变,且作图复杂。
发明内容
本发明针对上述不足之处提供了一种指针式表盘自动读数方法,解决现有技术中仪表偏转的指针式表盘图像存在模糊、光照不均的情况下,指针式表盘图像读数不精确的问题。
为了实现上述目的,本发明采用的技术方案为:
一种指针式表盘自动读数方法,其特征在于,包括以下步骤:
步骤1:读取原始图像f(x,y),对原始图像f(x,y)进行Hough变换初步提取表盘图像f1'(x,y),并将表盘图像f1'(x,y)进行直方图均衡化;
步骤2:将表盘图像f1'(x,y)按行分成两部分,分别进行阈值分割,再合并成一张图像,对合并后的图像提取外轮廓l1;
步骤3:通过最小二乘拟合将外轮廓l1拟合成椭圆,确定精确的表盘图像f2'(x,y);
步骤4:对精确的表盘图像f2'(x,y)上下分成两块,分块后进行阈值分割,再合并分割结果成一张图像,并提取合并后的图像的最内层椭圆的外轮廓l2;
步骤5:通过最小二乘拟合将外轮廓l2拟合成椭圆,得到外轮廓l2拟合成椭圆的圆心P(x,y);
步骤6:将步骤5得到的椭圆等比例放大成两个不同大小的大椭圆,两个大椭圆具有相同的圆心和长短轴之比,长短轴为横向和纵向(或纵向和横向)平分大椭圆的轴,两个大椭圆之间即为条带区域D,外轮廓l2拟合成的椭圆与放大的较小的大椭圆之间即为条带区域D';
步骤7:将条带区域D分成上下两块后进行阈值分割,合并分割结果成一张图像,得到刻度的起始位置和刻度的终点位置;
步骤8:根据步骤6得到的条带区域D',采用填补法确定指针位置;
步骤9:按照外轮廓l2拟合成的椭圆的长短轴之比,将条带区域D和条带区域D'修复成正圆;
步骤10:将条带区域D和条带区域D'修复成正圆后,通过刻度的起始位置、刻度的终点位置和指针位置计算原始图像f(x,y)中的读数。
进一步,所述步骤1的具体步骤如下:
步骤11:读取原始图像f(x,y);
步骤12:对原始图像f(x,y)进行Hough变换初步提取表盘图像f1'(x,y),公式如下:
其中,a是椭圆的长轴或短轴,b是椭圆的短轴或长轴,a为横轴,b为纵轴,(x0,y0)是表盘图像的椭圆圆心,x、y是原空间的自变量与因变量;
步骤13:将表盘图像f1'(x,y)进行直方图均衡化,具体公式如下:
其中,sk是均衡化之后的值为k的灰度,L是图像中的灰度级数量,即对8比特图像是256,MN是表盘图像f1'(x,y)中像素的总数,M是表盘图像f1'(x,y)每一行的像素个数,N是表盘图像f1'(x,y)每一列的像素个数,nj是原始图像f(x,y)中灰度为j的像素个数。
进一步,所述步骤2和步骤4中,提取外轮廓的具体步骤如下:
步骤241:计算连通分量,公式如下:
其中g(x,y)分别表示步骤2和步骤4中进行阈值分割后合并的图像,B表示结构元,b={b1,b2}表示原结构元B里每个像素的坐标,w={w1,w2}表示经过变换后的结构元每个像素的坐标,(B)z={w|w=b+z,b∈B}表示将B中的坐标b={b1,b2}都加上z={z1,z2}个像素坐标,表示关于结构元B的原点映射该集合的所有元素,m=1或2,分别表示对步骤2和步骤4中提取到的进行阈值分割后合并的图像的所有连通分量;
步骤242:提取最大连通分量,公式如下:
其中,m=1或2,分别表示步骤2和步骤4中提取到的进行阈值分割后合并的图像的最大连通分量,表示连通分量的像素个数,最大连通分量即像素个数最多的连通分量;
步骤243:提取外轮廓,公式如下:
其中,m=1或2,lm分别表示步骤2中得到的最外层椭圆的外轮廓和步骤4中得到的最内层椭圆的外轮廓,表示中每一列的横坐标最大值,表示中每一列的横坐标最小值,表示中每一行的纵坐标最大值,表示中每一行的纵坐标最小值。
进一步,所述步骤3和步骤5中,最小二乘拟合的公式为:
其中,A={a1 a2 … ai … aN}T,i=1,2,…,N,
(xi,yi)是外轮廓l1或l2每个像素的坐标,即A由外轮廓求得,T表示转置,(xi,yi)表示外轮廓l1或外轮廓l2上的点坐标,(xc,yc)表示拟合椭圆的圆心,a是拟合椭圆的长轴或短轴,b是拟合椭圆的短轴或长轴,a为横轴,b为纵轴,B表示每个轮廓点代入椭圆方程的常数项,N表示提取到的外轮廓的像素点个数,最小二乘拟合的解X可以用通解公式X=(ATA)- 1ATB求得,再根据上述X中每个元素之间的关系则可以求出拟合椭圆的圆心(xc,yc)和长短轴a,b。
进一步,所述步骤6中,等比例放大椭圆的公式为:
其中,a是椭圆的长轴或短轴,b是椭圆的短轴或长轴,a为横轴,b为纵轴,(x0,y0)是椭圆圆心,k是缩放的比例系数。
进一步,所述步骤8的具体步骤如下:
步骤81:对条带区域D'进行最小值滤波如下:
R=min{zk|k=1,2,…,(2n-1)2};
其中,zk是进行最小值滤波的模版,表示对原始图像中被模版框住的像素点进行最小值滤波,2n-1表示模版尺寸;
步骤82:将最小值滤波过后的条带区域D'进行阈值分割,得到由刻度和指针造成的孔洞,计算连通分量,并对每个孔洞的位置和像素个数进行标记;
步骤83:依次将条带区域D'中每个孔洞的位置的全部像素的像素值取反,而其余孔洞都不操作;
步骤84:对进行了取反操作后的图像进行孔洞填充,如果圆心P(x,y)也被填充,则该孔洞为指针,否则,不是。
进一步,所述步骤2、步骤4、步骤7和步骤82的阈值分割公式如下:
其中,gm(x,y)在步骤2、步骤4、步骤7和步骤82中分别代表阈值分割后的图像,f(x,y)是原始图像,在步骤2中,f(x,y)代表表盘图像f1'(x,y)按行分成的两部分中的其中一部分图像,在步骤4中,f(x,y)代表精确的表盘图像f2'(x,y)上下分成两块后的上块或下块图像,步骤7中,f(x,y)代表条带区域D分成上下两块后的上块或下块图像,步骤82中,f(x,y)代表进行最小值滤波过后的条带区域D',k*是自适应的最佳阈值,m(k)是累加至灰度级k的均值,mG是整个图像(图像即指原始图像f(x,y)按行分成的两部分中的其中一部分图像、精确的表盘图像f2'(x,y)上下分成两块后的上块或下块图像、条带区域D分成上下两块后的上块或下块图像和进行最小值滤波后的条带区域D')的平均灰度,即全局阈值,pi表示像素值为i的像素在图像中的百分比,假设阈值T(k)=k,并使用它把输入图像阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差,参数pi、T(k)、P1(k)、C1、C2和σ2因不同步骤的原始图像f(x,y)而相应改变。
进一步,所述步骤9中,椭圆修正成正圆的公式为:
x'=x+α(x-xC);
其中,x表示椭圆边的横坐标,xC表示椭圆圆心的横坐标,x'表示修正后正圆边的横坐标,α为拉伸因子,即长短轴比。
进一步,所述步骤10中,计算原始图像f(x,y)中的读数的具体步骤为:
(101)计算圆心P(x,y)到刻度的起始位置的向量与圆心P(x,y)到指针位置的向量之间的夹角θ1;
(102)计算圆心P(x,y)到刻度的起始位置的向量与圆心P(x,y)到刻度的终点位置的向量之间的夹角θ2;
(103)夹角之比θ1/θ2即是指针读数。
进一步,所述夹角θ1和夹角θ2的计算公式如下:
其中,表示向量的夹角θ1,表示向量内积,和表示向量的模,如果计算夹角θ2时,需要将公式中的替换为即有表示向量的夹角θ2,表示向量内积,和表示向量的模,需要注意的是,令若x1≤0,y1≤0或者x1≤0,y1≥0或者当x1≥0,y1≥0时,若则直接输出作为向量和向量的夹角,反之,若x1≥0,y1≤0或者当x1≥0,y1≥0时,若时,令作为向量和向量的夹角。
与现有技术相比,本发明的优点在于:
一、算法结构简单,运算量少,处理速度快,效率高;
二、解决了表盘被部分遮挡,光照不均,相机旋转等干扰的影响,鲁棒性强;
三、率先将最小二乘拟合应用到了椭圆形表盘的定位中来,该方法兼顾了精确度、高效率和易实现等多方面原因;
四、可移植到C++平台下运行,并且也可以移植到其他平台。
附图说明
图1为本发明中将椭圆修正成正圆的示意图;
图2为本发明的方法流程图;
图3为本发明中的原始图像;
图4为本发明中用Hough变换初步提取到的表盘图像f1'(x,y)的示意图;
图5为本发明中将表盘图像f1'(x,y)均衡化,然后提取外轮廓l1之后的示意图;
图6为本发明中用l1拟合的椭圆确定的精确的表盘图像f2'(x,y);
图7为本发明中提取最内层椭圆外轮廓l2;
图8为本发明中用l2拟合的椭圆;
图9为本发明中用l2拟合的椭圆放大成不同长短轴,相同圆心的两个大椭圆示意图;
图10为本发明中用两个大椭圆确定的条带区域D的示意图;
图11为本发明中用较小的大椭圆与用l2拟合的椭圆确定的条带区域D'的示意图;
图12为本发明中确定指针位置的示意图;
图13为本发明中计算指针的读数的示意图。
具体实施方式
下来结合附图和实施例对本发明作进一步说明。
一种指针式表盘自动读数方法,包括以下步骤:
步骤1:读取原始图像f(x,y),如图3所示,对原始图像f(x,y)进行Hough变换初步提取表盘图像f1'(x,y),如图4所示,并将表盘图像f1'(x,y)进行直方图均衡化;具体步骤如下:
步骤11:读取原始图像f(x,y);
步骤12:对原始图像f(x,y)进行Hough变换初步提取表盘图像f1'(x,y),公式如下:
其中,a是椭圆的长轴或短轴,b是椭圆的短轴或长轴,a为横轴,b为纵轴,(x0,y0)是表盘图像的椭圆圆心,x、y是原空间的自变量与因变量;
步骤13:将表盘图像f1'(x,y)进行直方图均衡化,具体公式如下:
其中,sk是均衡化之后的值为k的灰度,L是图像中的灰度级数量,即对8比特图像是256,MN是表盘图像f1'(x,y)中像素的总数,M是表盘图像f1'(x,y)每一行的像素个数,N是表盘图像f1'(x,y)每一列的像素个数,nj是原始图像f(x,y)中灰度为j的像素个数。
步骤2:将表盘图像f1'(x,y)按行分成两部分,分别进行阈值分割,再合并成一张图像,对合并后的图像提取外轮廓l1,如图5所示;
对每部分阈值分割公式如下:
其中,gm(x,y)是表盘图像f1'(x,y)每部分阈值分割后的图像(m=1,2),是表盘图像f1'(x,y)每部分各自的自适应的最佳阈值,m(k)是表盘图像f1'(x,y)每部分累加至灰度级k的均值,mG是表盘图像f1'(x,y)每部分的平均灰度,即每部分的全局阈值,pi表示像素值为i的像素在表盘图像f1'(x,y)每部分中的百分比并且有假设阈值T(k)=k,并使用它把输入每部分f1'(x,y)阈值分割后的图像阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差。
提取外轮廓的具体步骤如下:
将阈值分割后的两个部分图像合并成一张图像后,计算连通分量,公式如下:
其中g(x,y)表示阈值分割后合并的图像,B表示结构元,b={b1,b2}表示原结构元B里每个像素的坐标,w={w1,w2}表示经过变换后的结构元每个像素的坐标,
(B)z={w|w=b+z,b∈B}表示将B中的坐标b={b1,b2}都加上z={z1,z2}个像素坐标,
表示关于结构元B的原点映射该集合的所有元素。表示阈值分割后合并的图像中提取到的所有连通分量。
提取最大连通分量,公式如下:
其中,表示阈值分割后合并的图像中提取的最大连通分量,表示连通分量的像素个数,最大连通分量即像素个数最多的连通分量。
提取外轮廓,公式如下:
其中,l1表示阈值分割合并后的图像中的最外层椭圆的外轮廓,表示中每一列的横坐标最大值,表示中每一列的横坐标最小值,表示中每一行的纵坐标最大值,表示中每一行的纵坐标最小值。
步骤3:通过最小二乘拟合将l1拟合成椭圆,确定精确的表盘图像f2'(x,y),如图6所示;最小二乘拟合的公式如下:
其中,A={a1 a2 … ai … aN}T,i=1,2…N,(xi,yi)是外轮廓l1每个像素的坐标,即A由外轮廓求得。 T表示转置,(xi,yi)表示外轮廓l1上的点坐标,(xc,yc)表示拟合椭圆的圆心,a是拟合椭圆的长轴或短轴,b是拟合椭圆的短轴或长轴,a为横轴,b为纵轴,B表示每个轮廓点代入椭圆方程的常数项,N表示提取到的外轮廓的像素点个数,最小二乘拟合的解X可以用通解公式X=(ATA)-1ATB求得,再根据上述X中每个元素之间的关系则可以求出拟合椭圆的圆心(xc,yc)和长短轴a,b。
步骤4:对精确的表盘图像f2'(x,y)上下分成两块,分块后进行阈值分割,再合并分割结果成一张图像,并提取合并后的图像的最内层椭圆的外轮廓l2,如图7所示。
对每部分阈值分割公式如下:
其中,gm(x,y)是表盘图像f2'(x,y)每部分阈值分割后的图像(m=1,2),是表盘图像f2'(x,y)每部分各自的自适应的最佳阈值,m(k)是表盘图像f2'(x,y)每部分累加至灰度级k的均值,mG是表盘图像f2'(x,y)每部分的平均灰度,即每部分的全局阈值,pi表示像素值为i的像素在表盘图像f2'(x,y)每部分中的百分比并且有假设阈值T(k)=k,并使用它把输入表盘图像f2'(x,y)每部分阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差。
提取外轮廓的具体步骤如下:
阈值分割后的两个部分图像合并成一张图像后,计算连通分量,公式如下:
其中g(x,y)表示阈值分割后合并的图像,B表示结构元,b={b1,b2}表示原结构元B里每个像素的坐标,w={w1,w2}表示经过变换后的结构元每个像素的坐标,
(B)z={w|w=b+z,b∈B}表示将B中的坐标b={b1,b2}都加上z={z1,z2}个像素坐标,
表示关于结构元B的原点映射该集合的所有元素。表示在阈值分割后合并的图像中提取到的所有连通分量。
提取最大连通分量,公式如下:
其中,表示阈值分割后合并的图像中提取的最大连通分量,表示连通分量的像素个数,最大连通分量即像素个数最多的连通分量。
提取外轮廓,公式如下:
其中,l2表示阈值分割合并后的图像中的最内层椭圆的外轮廓,表示中每一列的横坐标最大值,表示中每一列的横坐标最小值,表示每一行的纵坐标的最小值。这一步中,考虑到最内层椭圆的最大连通分量的底部有明显凹陷,如图6所示,这是仪表本身设计所造成的,该凹陷对l2的拟合是不利的,因故这一步舍去了每一行的纵坐标的最大值
步骤5:通过最小二乘拟合将外轮廓l2拟合成椭圆,如图8所示,得到外轮廓l2拟合成椭圆的圆心P(x,y);拟合椭圆的公式如下所示:
其中,A={a1 a2 … ai … aN}T,i=1,2…N,(xi,yi)是外轮廓l2每个像素的坐标,即A由外轮廓求得。 T表示转置,(xi,yi)表示外轮廓l2上的点坐标,(xc,yc)表示拟合椭圆的圆心,a是拟合椭圆的长轴或短轴,b是拟合椭圆的短轴或长轴,a为横轴,b为纵轴,B表示每个轮廓点代入椭圆方程的常数项,N表示提取到的外轮廓的像素点个数,最小二乘拟合的解X可以用通解公式X=(ATA)-1ATB求得,再根据上述X中每个元素之间的关系则可以求出拟合椭圆的圆心(xc,yc)和长短轴a,b。
步骤6:将步骤5得到的椭圆等比例放大成两个不同大小的大椭圆,两个大椭圆具有相同的圆心和长短轴之比,如图9所示,长短轴为横向和纵向(或纵向和横向)平分大椭圆的轴,两个大椭圆之间即为条带区域D,外轮廓l2拟合成的椭圆与放大的较小的大椭圆之间即为条带区域D';等比例放大椭圆的公式为:
其中,a是椭圆的长轴或短轴,b是椭圆的短轴或长轴,a为横轴,b为纵轴,(x0,y0)是椭圆圆心,k是缩放的比例系数。
步骤7:将两个大椭圆之间的条带区域D分成上下两块进行阈值分割,再合并,可以得到刻度的起始位置和刻度的终点位置,如图10所示;将条带区域D每部分进行阈值分割公式如下:
其中,gm(x,y)表示是条带区域D分成上下两块阈值分割后的上块或下块图像
(m=1,2),是条带区域D每一块各自的自适应的最佳阈值,m(k)是条带区域D每一块累加至灰度级k的均值,mG是条带区域D每一块的平均灰度,即每一块的全局阈值,pi表示像素值为i的像素在条带区域D每一块中的百分比并且有假设阈值T(k)=k,并使用它把输入条带区域D每一块阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差。
步骤8:根据步骤6得到的条带区域D',采用填补法确定指针位置,如图12所示,具体步骤如下:
步骤81:对条带区域D'进行最小值滤波如下:
R=min{zk|k=1,2,…,(2n-1)2};
其中,zk是进行最小值滤波的模版,表示对原始图像中被模版框住的像素点进行最小值滤波,2n-1表示模版尺寸;
步骤82:将最小值滤波过后的条带区域D'进行阈值分割,得到由刻度和指针造成的孔洞,计算连通分量,并对每个孔洞的位置和像素个数进行标记;
其中,g(x,y)是最小值滤波过后的条带区域D'分割后的图像,k*是最小值滤波过后的条带区域D'的自适应的最佳阈值,m(k)是最小值滤波过后的条带区域D'累加至灰度级k的均值,mG是最小值滤波过后的条带区域D'的平均灰度,即全局阈值,pi表示像素值为i的像素在最小值滤波过后的条带区域D'中的百分比并且有假设阈值T(k)=k,并使用它把输入最小值滤波过后的条带区域D'阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差。
步骤83:依次将条带区域D'中每个孔洞的位置的全部像素的像素值取反,而其余孔洞都不操作;
步骤84:对进行了取反操作后的图像进行孔洞填充,如果圆心P(x,y)也被填充,则该孔洞为指针,否则,不是。
步骤9:按照l2拟合出的椭圆的长短轴之比,将条带区域D和条带区域D'修复成正圆,如图1所示,修复成正圆的公式为:
x'=x+α(x-xC);
其中,x表示椭圆边的横坐标,xC表示椭圆圆心的横坐标,x’表示修正后正圆边的横坐标,α为拉伸因子,即长短轴比。由于样本都属于竖直的椭圆所以只需要考虑水平拉伸即可,以椭圆圆心为中心做左右拉伸,根据实际情况还可对其它方向进行拉伸。
步骤10:将条带区域D和条带区域D'修复成正圆后,计算原始图像f(x,y)中的读数。如图11所示,通过刻度的起始位置、刻度的终点位置和指针位置计算原始图像f(x,y)中的读数的具体步骤为:
(101)计算圆心P(x,y)到刻度的起始位置的向量与圆心P(x,y)到指针位置的向量之间的夹角θ1;
(102)计算圆心P(x,y)到刻度的起始位置的向量与圆心P(x,y)到刻度的终点位置的向量之间的夹角θ2;
(103)夹角之比θ1/θ2即是指针读数。
夹角θ1和夹角θ2的计算公式如下:
其中,表示向量的夹角θ1,表示向量内积,和表示向量的模,如果计算夹角θ2时,需要将公式中的替换为即有表示向量的夹角θ2,表示向量内积,和表示向量的模,需要注意的是,令若x1≤0,y1≤0或者x1≤0,y1≥0或者当x1≥0,y1≥0时,若则直接输出作为向量和向量的夹角,反之,若x1≥0,y1≤0或者当x1≥0,y1≥0时,若时,令作为向量和向量的夹角。
Claims (10)
1.一种指针式表盘自动读数方法,其特征在于,包括以下步骤:
步骤1:读取原始图像f(x,y),对原始图像f(x,y)进行Hough变换初步提取表盘图像f1'(x,y),并将表盘图像f1'(x,y)进行直方图均衡化;
步骤2:将表盘图像f1'(x,y)按行分成两部分,分别进行阈值分割,再合并成一张图像,对合并后的图像提取外轮廓l1;
步骤3:通过最小二乘拟合将外轮廓l1拟合成椭圆,确定精确的表盘图像f2'(x,y);
步骤4:对精确的表盘图像f2'(x,y)上下分成两块,分块后进行阈值分割,再合并分割结果成一张图像,并提取合并后的图像的最内层椭圆的外轮廓l2;
步骤5:通过最小二乘拟合将外轮廓l2拟合成椭圆,得到外轮廓l2拟合成椭圆的圆心P(x,y);
步骤6:将步骤5得到的椭圆等比例放大成两个不同大小的大椭圆,两个大椭圆具有相同的圆心和长短轴之比,长短轴为横向和纵向或纵向和横向平分大椭圆的轴,两个大椭圆之间即为条带区域D,外轮廓l2拟合成的椭圆与放大的较小的大椭圆之间即为条带区域D';
步骤7:将条带区域D分成上下两块后进行阈值分割,合并分割结果成一张图像,得到刻度的起始位置和刻度的终点位置;
步骤8:根据步骤6得到的条带区域D',采用填补法确定指针位置;
步骤9:按照外轮廓l2拟合成的椭圆的长短轴之比,将条带区域D和条带区域D'修复成正圆;
步骤10:将条带区域D和条带区域D'修复成正圆后,通过刻度的起始位置、刻度的终点位置和指针位置计算原始图像f(x,y)中的读数。
2.根据权利要求1所述的一种指针式表盘自动读数方法,其特征在于,所述步骤1的具体步骤如下:
步骤11:读取原始图像f(x,y);
步骤12:对原始图像f(x,y)进行Hough变换初步提取表盘图像f1'(x,y),公式如下:
其中,a是椭圆的长轴或短轴,b是椭圆的短轴或长轴,a为横轴,b为纵轴,(x0,y0)是表盘图像的椭圆圆心,x、y是原空间的自变量与因变量;
步骤13:将表盘图像f1'(x,y)进行直方图均衡化,具体公式如下:
其中,sk是均衡化之后的值为k的灰度,L是图像中的灰度级数量,即对8比特图像是256,MN是表盘图像f1'(x,y)中像素的总数,M是表盘图像f1'(x,y)每一行的像素个数,N是表盘图像f1'(x,y)每一列的像素个数,nj是原始图像f(x,y)中灰度为j的像素个数。
3.根据权利要求1所述的一种指针式表盘自动读数方法,其特征在于,所述步骤2和步骤4中,提取外轮廓的具体步骤如下:
步骤241:计算连通分量,公式如下:
其中g(x,y)分别表示步骤2和步骤4中进行阈值分割后合并的图像,B表示结构元,b={b1,b2}表示原结构元B里每个像素的坐标,w={w1,w2}表示经过变换后的结构元每个像素的坐标,(B)z={w|w=b+z,b∈B}表示将B中的坐标b={b1,b2}都加上z={z1,z2}个像素坐标,表示关于结构元B的原点映射该集合的所有元素,m=1或2,分别表示对步骤2和步骤4中提取到的进行阈值分割后合并的图像的所有连通分量;
步骤242:提取最大连通分量,公式如下:
其中,m=1或2,分别表示步骤2和步骤4中提取到的进行阈值分割后合并的图像的最大连通分量,表示连通分量的像素个数,最大连通分量即像素个数最多的连通分量;
步骤243:提取外轮廓,公式如下:
其中,m=1或2,lm分别表示步骤2中得到的最外层椭圆的外轮廓和步骤4中得到的最内层椭圆的外轮廓,表示中每一列的横坐标最大值,表示中每一列的横坐标最小值,表示中每一行的纵坐标最大值,表示中每一行的纵坐标最小值。
4.根据权利要求1所述的一种指针式表盘自动读数方法,其特征在于,所述步骤3和步骤5中,最小二乘拟合的公式为:
其中,A={a1 a2 … ai … aN}T,i=1,2,…,N,(xi,yi)是外轮廓l1或l2每个像素的坐标,即A由外轮廓求得,T表示转置,(xi,yi)表示外轮廓l1或外轮廓l2上的点坐标,(xc,yc)表示拟合椭圆的圆心,a是拟合椭圆的长轴或短轴,b是拟合椭圆的短轴或长轴,a为横轴,b为纵轴,B表示每个轮廓点代入椭圆方程的常数项,N表示提取到的外轮廓的像素点个数,最小二乘拟合的解X可以用通解公式X=(ATA)-1ATB求得,再根据上述X中每个元素之间的关系则可以求出拟合椭圆的圆心(xc,yc)和长短轴a,b。
5.根据权利要求1所述的一种指针式表盘自动读数方法,其特征在于,所述步骤6中,等比例放大椭圆的公式为:
其中,a是椭圆的长轴或短轴,b是椭圆的短轴或长轴,a为横轴,b为纵轴,(x0,y0)是椭圆圆心,k是缩放的比例系数。
6.根据权利要求1所述的一种指针式表盘自动读数方法,其特征在于,所述步骤8的具体步骤如下:
步骤81:对条带区域D'进行最小值滤波如下:
R=min{zk|k=1,2,…,(2n-1)2};
其中,zk是进行最小值滤波的模版,表示对原始图像中被模版框住的像素点进行最小值滤波,2n-1表示模版尺寸;
步骤82:将最小值滤波过后的条带区域D'进行阈值分割,得到由刻度和指针造成的孔洞,计算连通分量,并对每个孔洞的位置和像素个数进行标记;
步骤83:依次将条带区域D'中每个孔洞的位置的全部像素的像素值取反,而其余孔洞都不操作;
步骤84:对进行了取反操作后的图像进行孔洞填充,如果圆心P(x,y)也被填充,则该孔洞为指针,否则,不是。
7.根据权利要求6所述的一种指针式表盘自动读数方法,其特征在于,所述步骤2、步骤4、步骤7和步骤82的阈值分割公式如下:
其中,gm(x,y)在步骤2、步骤4、步骤7和步骤82中分别代表阈值分割后的图像,f(x,y)是原始图像,在步骤2中,f(x,y)代表表盘图像f1'(x,y)按行分成的两部分中的其中一部分图像,在步骤4中,f(x,y)代表精确的表盘图像f2'(x,y)上下分成两块后的上块或下块图像,步骤7中,f(x,y)代表条带区域D分成上下两块后的上块或下块图像,步骤82中,f(x,y)代表进行最小值滤波过后的条带区域D',k*是自适应的最佳阈值,m(k)是累加至灰度级k的均值,mG是整个图像的平均灰度,所述整个图像即指原始图像f(x,y)按行分成的两部分中的其中一部分图像、精确的表盘图像f2'(x,y)上下分成两块后的上块或下块图像、条带区域D分成上下两块后的上块或下块图像和进行最小值滤波后的条带区域D',即全局阈值,pi表示像素值为i的像素在图像中的百分比,假设阈值T(k)=k,并使用它把输入图像阈值化处理为两类C1和C2,P1(k)表示像素被分到类C1的概率,1-P1(k)表示像素被分到类C2的概率,σ2是C1类和C2类之间的方差,参数pi、T(k)、P1(k)、C1、C2和σ2因不同步骤的原始图像f(x,y)而相应改变。
8.根据权利要求1所述的一种指针式表盘自动读数方法,其特征在于,所述步骤9中,椭圆修正成正圆的公式为:
x'=x+α(x-xC);
其中,x表示椭圆边的横坐标,xC表示椭圆圆心的横坐标,x'表示修正后正圆边的横坐标,α为拉伸因子,即长短轴比。
9.根据权利要求1所述的一种指针式表盘自动读数方法,其特征在于,所述步骤10中,计算原始图像f(x,y)中的读数的具体步骤为:
(101)计算圆心P(x,y)到刻度的起始位置的向量与圆心P(x,y)到指针位置的向量之间的夹角θ1;
(102)计算圆心P(x,y)到刻度的起始位置的向量与圆心P(x,y)到刻度的终点位置的向量之间的夹角θ2;
(103)夹角之比θ1/θ2即是指针读数。
10.根据权利要求9所述的一种指针式表盘自动读数方法,其特征在于,所述夹角θ1和夹角θ2的计算公式如下:
其中,表示向量的夹角θ1,表示向量内积,和表示向量的模,如果计算夹角θ2时,需要将公式中的替换为即有表示向量的夹角θ2,表示向量内积,和表示向量的模,需要注意的是,令若x1≤0,y1≤0或者x1≤0,y1≥0或者当x1≥0,y1≥0时,若则直接输出作为向量和向量的夹角,反之,若x1≥0,y1≤0或者当x1≥0,y1≥0时,若时,令作为向量和向量的夹角。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610562199.6A CN106228161B (zh) | 2016-07-18 | 2016-07-18 | 一种指针式表盘自动读数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610562199.6A CN106228161B (zh) | 2016-07-18 | 2016-07-18 | 一种指针式表盘自动读数方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106228161A CN106228161A (zh) | 2016-12-14 |
CN106228161B true CN106228161B (zh) | 2019-04-19 |
Family
ID=57519270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610562199.6A Active CN106228161B (zh) | 2016-07-18 | 2016-07-18 | 一种指针式表盘自动读数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106228161B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599897B (zh) * | 2016-12-09 | 2019-10-18 | 广州供电局有限公司 | 基于机器视觉的指针式仪表读数识别方法及装置 |
CN106815851B (zh) * | 2017-01-24 | 2019-05-24 | 电子科技大学 | 一种基于视觉测量的栅格圆形油位计自动读数方法 |
CN107292310B (zh) * | 2017-06-19 | 2020-10-09 | 电子科技大学 | 一种圆形指针式表盘视觉定位及自动读数方法 |
CN107766836A (zh) * | 2017-11-07 | 2018-03-06 | 国网黑龙江省电力有限公司检修公司 | 一种圆形偏转指针式仪表读数矫正方法 |
CN108711158B (zh) * | 2018-03-14 | 2021-05-28 | 武汉科技大学 | 基于轮廓拟合和径向分割的指针式仪表图像识别方法 |
CN109558871B (zh) * | 2018-10-26 | 2021-09-17 | 中国科学院长春光学精密机械与物理研究所 | 一种指针式仪表读数识别方法及装置 |
CN110084251A (zh) * | 2019-04-29 | 2019-08-02 | 北京史河科技有限公司 | 一种仪表识别方法、装置及存储介质 |
CN112036391B (zh) * | 2020-07-22 | 2023-09-19 | 四川长宁天然气开发有限责任公司 | 一种基于页岩气田生产站场的电子巡检方法及系统 |
CN112036393B (zh) * | 2020-07-22 | 2023-08-18 | 四川长宁天然气开发有限责任公司 | 一种基于页岩气田生产单指针仪表读数的识别方法 |
CN111814740B (zh) * | 2020-07-28 | 2024-03-26 | 南方电网数字电网研究院有限公司 | 指针仪表读数的识别方法、装置、计算机设备和存储介质 |
CN111814919A (zh) * | 2020-08-31 | 2020-10-23 | 江西小马机器人有限公司 | 一种基于深度学习的仪表定位与识别系统 |
CN112949564B (zh) * | 2021-02-02 | 2022-11-29 | 电子科技大学 | 一种基于深度学习的指针式仪表自动读数方法 |
CN115661157B (zh) * | 2022-12-28 | 2023-04-14 | 成都数之联科技股份有限公司 | 面板圆类缺陷检测方法、装置、介质、设备及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498592A (zh) * | 2009-02-26 | 2009-08-05 | 北京中星微电子有限公司 | 指针式仪表的读数方法及装置 |
CN102609712A (zh) * | 2012-02-24 | 2012-07-25 | 山东鲁能智能技术有限公司 | 用于移动机器人的类圆形指针式仪表读数方法 |
CN103148881A (zh) * | 2013-02-06 | 2013-06-12 | 广东电网公司电力科学研究院 | 利用视频自动对指针式仪表进行读数的方法及装置 |
CN105260710A (zh) * | 2015-09-28 | 2016-01-20 | 北京石油化工学院 | 基于图像处理的水表检定方法、装置及系统 |
-
2016
- 2016-07-18 CN CN201610562199.6A patent/CN106228161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498592A (zh) * | 2009-02-26 | 2009-08-05 | 北京中星微电子有限公司 | 指针式仪表的读数方法及装置 |
CN102609712A (zh) * | 2012-02-24 | 2012-07-25 | 山东鲁能智能技术有限公司 | 用于移动机器人的类圆形指针式仪表读数方法 |
CN103148881A (zh) * | 2013-02-06 | 2013-06-12 | 广东电网公司电力科学研究院 | 利用视频自动对指针式仪表进行读数的方法及装置 |
CN105260710A (zh) * | 2015-09-28 | 2016-01-20 | 北京石油化工学院 | 基于图像处理的水表检定方法、装置及系统 |
Non-Patent Citations (5)
Title |
---|
A Binarization Algorithm for Digital Meter Image Based on Gray-scale Morphology;Haijun Lei 等;《2010 3rd International Congress on Image and Signal Processing》;20101018;2427-2429 * |
A Character Recognition Algorithm Adapt to a Specific Kind of Water Meter;RUI Xiao-ping,SONG Xian-feng;《2009 World Congress on Computer Science and Information Engineering》;20090402;632-636 * |
一种针对指针式仪表表盘图像的分割方法;陈世伟 等;《激光与红外》;20060131;第36卷(第1期);78-80 * |
变电站电力系统中仪表读数自动化新方法的分析和应用;陈皓 等;《测试工具与解决方案》;20140917(第18期);84-87 * |
基于边界的最小二乘椭圆拟合改进算法;王万国 等;《计算机技术与发展》;20130430;第23卷(第4期);67-70 * |
Also Published As
Publication number | Publication date |
---|---|
CN106228161A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106228161B (zh) | 一种指针式表盘自动读数方法 | |
CN107808378B (zh) | 基于垂直纵横线轮廓特征的复杂结构铸件潜在缺陷检测方法 | |
CN107490398B (zh) | 一种仪表指针自动识别方法 | |
CN105913415B (zh) | 一种具有广泛适应性的图像亚像素边缘提取方法 | |
CN108186051B (zh) | 一种从超声图像中自动测量胎儿双顶径长度的图像处理方法及处理系统 | |
CN109191476A (zh) | 基于U-net网络结构的生物医学图像自动分割新方法 | |
CN111402226A (zh) | 一种基于级联卷积神经网络的表面疵点检测方法 | |
CN109472822A (zh) | 基于深度图像处理的物体尺寸测量方法 | |
CN103164692B (zh) | 一种基于计算机视觉的特种车辆仪表自动识别系统及方法 | |
CN107292310A (zh) | 一种圆形指针式表盘视觉定位及自动读数方法 | |
CN115018844B (zh) | 一种基于人工智能的塑料薄膜质量评估方法 | |
CN112818988A (zh) | 一种指针式仪表自动识别读数方法及系统 | |
CN104112269A (zh) | 一种基于机器视觉的太阳能电池激光刻线参数检测方法及系统 | |
CN109544564A (zh) | 一种医疗图像分割方法 | |
CN104197900A (zh) | 一种汽车仪表指针刻度识别方法 | |
CN104574417B (zh) | 一种图像边缘灰度起伏性度量与自适应检测方法 | |
CN116612123B (zh) | 一种花生油加工质量视觉检测方法 | |
CN104574312A (zh) | 标靶图像求圆心的方法和装置 | |
CN111415349A (zh) | 一种基于图像处理技术的涤纶长丝毛丝检测方法 | |
CN108320799A (zh) | 一种用于侧向流纸条疾病诊断的图像分析与识别方法 | |
CN105260559B (zh) | 一种基于轮廓面积和轮廓细化的纸浆纤维形态参数计算方法 | |
CN116485801B (zh) | 基于计算机视觉的胶管质量在线检测方法及系统 | |
CN115984360B (zh) | 一种基于图像处理的计算干滩长度的方法及系统 | |
CN104866837B (zh) | 字画微观纹理的图像采集装置及其采集方法 | |
CN110223276A (zh) | 一种基于图像处理的瓶盖检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |