CN116958950A - 一种抗光照干扰的精密指针式仪表的自动识别与读数方法 - Google Patents
一种抗光照干扰的精密指针式仪表的自动识别与读数方法 Download PDFInfo
- Publication number
- CN116958950A CN116958950A CN202310902240.XA CN202310902240A CN116958950A CN 116958950 A CN116958950 A CN 116958950A CN 202310902240 A CN202310902240 A CN 202310902240A CN 116958950 A CN116958950 A CN 116958950A
- Authority
- CN
- China
- Prior art keywords
- image
- dial
- line segment
- line
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000005286 illumination Methods 0.000 title claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 29
- 238000003708 edge detection Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 claims description 2
- 238000007689 inspection Methods 0.000 description 6
- 230000007797 corrosion Effects 0.000 description 4
- 238000005260 corrosion Methods 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 101000872083 Danio rerio Delta-like protein C Proteins 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005272 metallurgy Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- 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
-
- 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/24—Aligning, centring, orientation detection or correction of the image
-
- 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/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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
-
- 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/30—Noise filtering
-
- 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/34—Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
-
- 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
- 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
本发明公开了一种抗光照干扰的精密指针式仪表的自动识别与读数方法,所述方法包括如下步骤:步骤A:图像预处理;步骤B:校正表盘图像;步骤C:检测表盘的指针方向;步骤D:检测表盘的零刻度线和满刻度线位置;步骤E:计算仪表的读数。本发明基于图像的局部不变特征来间接校正圆形图像,提高了自动读数方法的准确性,基于改进霍夫直线检测算法来检测指针线段,能更准确地检测出指针位置,具有较高的鲁棒性和实用性。
Description
技术邻域
本发明属于图像处理与计算机视觉领域,具体涉及一种抗光照干扰的精密指针式仪表的自动识别与读数方法。
背景技术
指针式仪表是一种常见的测量与显示仪器,它们用于测量和显示各种物理量,如:压力、温度、液位等,被广泛应用于石油化工、电力、制药、冶金、航空航天等行业,用于确保系统的正常运行和安全。指针式仪表的准确测量对于保证生产设备的正常运行、产品质量的稳定以及工艺过程的安全性至关重要。因此,对指针式仪表的巡检是工业生产管理的必要环节。
传统的工业巡检过程中,通常需要巡检人员人工读取精密仪表上的数值,并记录在巡检表格或文档中。然而,这种人工读数的方法实时性差,会增加时间成本,限制了工作效率;同时,人工读取精密仪表数值容易受到巡检人员的视力与主观因素的影响,从而导致读数误差;而且在部分高危环境中,人工读数还可能威胁工作人员的安全。而随着机器视觉技术的发展,越来越多的工厂采用巡检机器人、无人机等拥有机器视觉技术的自主设备对仪表设备进行自动测量和安全监控。因此,基于机器视觉的精密指针式仪表的自动读数成为重要的关键共性技术,对提高安全管理水平、提升生产效率、降低人工成本具有重要意义。
目前,大多数基于机器视觉的指针式仪表自动读数方法是通过采用霍夫圆检测、霍夫直线检测等传统算法实现的。但这些传统算法参数较多,针对不同的工作环境,需要人工反复调整参数,难以应对动态相机的视角变化,以及环境光照的变化。这些已有方法通常受输入图像影响较大,从而导致自动读数的效果极易受到外界因素的影响,这些因素包括图像畸变、光照扰动、视角变化等。同时,现在也有一些基于机器学习的指针式仪表读数方法,但这类方法需要大量的数据集进行神经网络模型权重的训练,对不同仪表的泛化能力较差。
因此,研究一种能够良好的抵抗外界因素干扰,且实用性和稳定性较强的精密指针式仪表自动读数方法尤为重要。
发明内容
本发明所要解决的技术问题是,针对现有技术的不足,提供一种抗光照干扰的精密指针式仪表的自动识别与读数方法,可以准确的完成精密指针式仪表的自动读数。
本发明所采用的技术方案如下:
第一方面,本发明提供一种抗光照干扰的精密指针式仪表的自动识别与读数方法,包括以下步骤:
步骤A:对摄像机拍摄的精密仪表图像进行预处理,得到表盘RGB图像,并获取其最小外接矩形的四个顶点A、B、C、D的坐标;
步骤B:对于步骤A表盘RGB图像,利用基于图像的局部不变特征校正其圆形表盘区域;
步骤C:对于步骤B校正后的精密仪表图像,检测其指针方向;
步骤D:对于步骤B校正后的精密仪表图像,检测其零刻度线和满刻度线方向;
步骤E:计算读数。
上述步骤C、D在执行顺序上没有限制,可以先执行步骤C再执行步骤D,也可以先执行步骤D再执行步骤C,也可以步骤C、D同时执行。分为步骤C、D仅为了方便描述,其不构成对本发明技术方案中步骤执行顺序的限定。
进一步地,所述步骤A具体处理过程如下:
步骤A1:先分别获取输入图像中精密仪表外边框的H、S、V三个通道的数据,然后分别找出这三组数据的最大值Hmax、Smax和Vmax;
步骤A2:将步骤A1中获得的三个最大值作为阈值,对摄像机拍摄的RGB图像进行HSV色彩阈值分割,得到仪表表盘的二值图像;具体为:
对于RGB图像中的任一像素点m(x,y),若该像素点对应的Hm、Sm和Vm三个像素值分量均小于对应阈值,则将该点的像素值M(x,y)置为255;否则将该点的像素值M(x,y)置为0,通过遍历RGB图像中的所有像素点,得到仪表表盘图像的二值图;
步骤A3:使用腐蚀、膨胀等形态学操作对步骤A2得到的二值图进行处理,使得二值图中的精密仪表外边框更加完整;然后进行滤波处理,将ROI区域外的杂点去除;
步骤A4:通过筛选轮廓获取精密仪表的表盘图像;具体为:
先使用Canny边缘检测算法,获取到步骤A3处理后的二值图中的所有轮廓,框选出所有轮廓的外接矩形,筛选出外接矩形的长宽比在给定范围之间的轮廓,这些轮廓中外接矩形面积最大的即为精密仪表外边框对应的轮廓;在原RGB图像中将该轮廓的外接矩形对应区域裁剪出来,即可获得精密仪表的表盘RGB图像。
进一步地,所述步骤B的具体处理过程如下:
步骤B1:将步骤A表盘RGB图像进行灰度化处理,得到其灰度图;
步骤B2:采用自适应的二值化算法对步骤B1获得的灰度图像进行处理,得到精密仪表的二值图;
步骤B3:将步骤A表盘RGB图像的中心点作为表盘的圆心;
步骤B4:裁剪出步骤B2获得的二值图的下半部分图像,检测其中的局部不变特征,并且检测出其最小外接矩形的四个顶点;具体包括以下步骤:
B4-1:裁剪出步骤B2获得的二值图的下半部分图像;对步骤B2获得的二值图的下半部分区域进行腐蚀处理,之后使用Canny边缘检测算法检测图像中的边缘特征;然后寻找图像中的所有轮廓并且绘制所有轮廓的最小外接矩形;
B4-2:对于每一个最小外接矩形,计算其长度、宽度和面积,通过检测其长宽比、面积以及其是否位于中间位置,进而检测出对应的局部不变特征;从而获得该局部不变特征的最小外接矩形的四个顶点;
步骤B5:根据相似三角形原理获得待校正圆形表盘图像的四个顶点,从而计算透视变换矩阵,对圆形表盘图像进行校正处理。
进一步地,所述步骤B5具体包括以下步骤:
B5-1:对于步骤B4获得的局部不变特征的最小外接矩形,以该最小外接矩形的上边线或下边线为斜边,构建两个直角三角形;同时以步骤A表盘RGB图像中以上边线或下边线为直角边,构建两个直角三角形;直角三角形a1与直角三角形b1相似,直角三角形a2与直角三角形b2相似;进而对两组相似直角三角形计算相似比,根据相似比分别计算步骤A表盘图像中直角三角形b1、b2的未知顶点A1、D1;从这两个顶点A1、D1分别向另一个直角三角形的斜边作垂线,可得到一个倾斜程度与步骤A表盘RGB图像相同的正方形,将该正方形的四个顶点作为校正前表盘RGB图像的四个顶点;
B5-2:步骤B5-1获得的四个顶点和步骤A表盘RGB图像的四个顶点构成四对点坐标,根据这四组点坐标来计算从倾斜圆形表盘图像变换到校正圆形表盘图像的透视变换矩阵;
B5-3:使用步骤B5-2获得的透视变换矩阵对倾斜圆形表盘图像进行处理,获得校正后的表盘图像。
进一步地,所述步骤C具体处理过程如下:
步骤C1:对于步骤B获得的校正后的表盘图像,进行灰度化处理,然后再使用自适应二值化算法处理,得到校正后的表盘二值图像;
步骤C2:对于步骤C1获得的二值图,使用Canny边缘检测算法检测图像中的边缘特征;采用改进霍夫直线检测算法来检测图像中的指针线段;
进一步地,所述步骤C2具体包括以下步骤:
C2-1:利用现有霍夫直线检测算法检测校正后的表盘二值图像中的线段,得到线段集合;
C2-2:对于步骤C2-1获得的线段集合中的任意一条线段,分别计算线段两个端点到圆心的距离,记为该线段到圆心的最大距离和最小距离;通过遍历该线段集合,即可求出所有线段端点到圆心的距离;将所有线段端点到圆心的最小距离进行排序,获得所有线段端点到圆心的最短距离;
C2-3:以步骤C2-2获得的线段端点到圆心最短距离的n倍作为阈值,比较线段集合中所有线段端点到圆心的最小距离与阈值的大小,若某线段端点到圆心的最小距离小于阈值,则放入新的线段集合,否则不放入;
C2-4:对于步骤C2-3获得的新的线段集合,将集合中所有线段端点到圆心的最大距离进行排序,距离最长的即为精密仪表指针对应的线段;
步骤C3:对于步骤C2-4检测出的线段,获取其距离圆心较远的端点坐标,再利用圆心坐标即可得出指针的偏转角度;
进一步地,所述步骤D具体处理过程如下:
步骤D1:对于步骤B获得的校正后的表盘图像,对其进行均值滤波,然后使用Canny边缘检测算法进行处理,检测出图像中所有的边缘特征;
步骤D2:检测步骤D1获得图像的所有轮廓及其对应的最大外接矩形,计算所有最大外接矩形的面积、长宽比、矩形中心与圆心连线的长度;
步骤D3:设定轮廓的最大外接矩形的面积阈值、长宽比阈值和矩形中心与圆心连线长度的阈值,若某轮廓的最大外接矩形的面积、长宽比和矩形中心与圆心连线长度均满足设定阈值,则将该边缘轮廓放入刻度线集合中;
步骤D4:对于步骤D3的刻度线集合,计算其对应的所有外接矩形中心与圆心连线的角度,将角度从小到大依次排序,角度最小的外接矩形对应的轮廓即为零刻度线,角度最大的外接矩形对应的轮廓即为满刻度线;
步骤D5:检测出零刻度线和满刻度线后,分别将其对应的最大外接矩形的中心点作为其方向点,则可计算这两点与圆心连线的偏角。
进一步地,所述步骤E的具体处理过程如下:
步骤E1:根据已知的仪表量程、步骤D获得的零刻度线和满刻度线偏角以及步骤C获得的指针偏转角度,即可利用几何关系计算出此时精密仪表的读数。
进一步地,上述抗光照干扰的精密指针式仪表的自动识别与读数装置还包括图像采集模块,使用程序控制仪表图像的采集,使用上述抗光照干扰的精密指针式仪表的自动识别与读数方法,实现精密仪表的自动读数。
本发明在输入图像不理想的情况下,通过使用图像校正算法来校正倾斜的圆形表盘图像,仍能准确的检测精密仪表的读数,有效完成自动读数的任务。
第二方面,本发明提供精密指针式仪表自动识别与读数系统,包括:
数据获取以及预处理模块,对摄像机拍摄的精密仪表图像进行预处理,得到表盘RGB图像,并获取其最小外接矩形的四个顶点A、B、C、D的坐标;
校正模块,利用基于图像的局部不变特征对表盘RGB图像校正;
第一计算模块,对校正后的表盘RGB图像检测其指针方向,计算得到指针偏转角度θT;
第二计算模块,对校正后的表盘RGB图像检测零刻度线偏角和满刻度线偏角
第三计算模块,根据仪表量程Range、零刻度线偏角和满刻度线偏角/>以及指针偏转角度θT计算读数。
第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。
第四方面,本发明提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。
与现有技术相比,本发明的有益效果在于:
1)本发明提出基于图像的局部不变特征校正圆形表盘图像,通过检测局部不变特征的最小外接矩形来间接反映圆形表盘图像的倾斜程度,从而校正倾斜的圆形表盘图像,提高了自动读数方法的抗干扰性和稳定性。
2)本发明提出基于改进霍夫直线检测算法来检测指针,在用现有霍夫直线算法检测出所有线段后,通过比较每个线段端点和表盘圆心的最大距离和最小距离,能较好的排除因光照等原因产生的干扰线段,准确检测出指针线段,具有较高的鲁棒性。
综上,本发明方法能够同时满足准确性、鲁棒性,在工业巡检等不确定环境中能较好的完成精密仪表的识别和自动读数任务,实用性较强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实例中抗光照干扰的精密指针式仪表的自动识别与读数方法流程图。
图2为本发明校正左倾圆形图像示意图。
图3为本发明校正右倾圆形图像示意图。
图4为本发明筛选指针线段示意图。
图5为圆形图像校正实验结果图,(a)原始图像,(b)本发明改进霍夫直线检测算法校正后图像。
图6为利用不同霍夫直线检测算法筛选指针线段实验结果图,(a)现有霍夫直线检测算法,(b)改进霍夫直线检测算法。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下述实施例是对精密压力表进行自动读数,完整的流程如图1所示。
实施例1:
本实施例提供一种抗光照干扰的精密指针式仪表的自动识别与读数方法,包括以下步骤:
步骤A:对摄像机拍摄的精密仪表图像进行预处理,得到表盘RGB图像,并获取其外接矩形的四个顶点A、B、C、D的坐标;
步骤B:对于步骤A表盘RGB图像,利用基于图像的局部不变特征校正其圆形表盘区域;
步骤C:对于步骤B校正后的精密仪表图像,检测其指针方向;
步骤D:对于步骤B校正后的精密仪表图像,检测其零刻度线和满刻度线方向;
步骤E:计算读数。
实施例2:
本实施例在实施例1的基础上,所述步骤A的具体处理过程如下:
步骤A1:先分别获取输入图像中精密仪表外边框的H、S、V三个通道的数据,然后分别找出这三组数据的最大值Hmax、Smax和Vmax;
步骤A2:将步骤A1中获得的三个最大值作为阈值,对摄像机拍摄的RGB图像进行HSV色彩阈值分割,得到仪表表盘的二值图;具体为:
对于RGB图像中的任一像素点m(x,y),若该像素点对应的Hm、Sm和Vm三个像素值分量均小于对应阈值,则将该点的像素值M(x,y)置为255;否则将该点的像素值M(x,y)置为0,通过遍历RGB图像中的所有像素点,得到仪表表盘图像的二值图;
步骤A3:使用腐蚀、膨胀等形态学操作对步骤A2得到的二值图进行处理,使得二值图中的精密仪表外边框更加完整;然后进行滤波处理,将ROI区域外的杂点去除;
步骤A4:通过筛选轮廓获取精密仪表的表盘RGB图像;具体为:
先使用Canny边缘检测算法,获取到步骤A3处理后的二值图中所有轮廓的集合C,框选出所有轮廓的外接矩形并计算其长宽比aspect,筛选出外接矩形的长宽比在给定范围(aspectmin,aspectmax)之间的轮廓,这些轮廓中外接矩形面积最大的即为精密仪表外边框对应的轮廓;在原RGB图像中将该轮廓的外接矩形对应区域裁剪出来,即可获得精密仪表的表盘RGB图像Pic,以及其外接矩形的四个顶点坐标。
R={rect(c)|c∈C} (2)
C′={c∈C|aspectmin≤aspect(c)≤aspectmax} (4)
其中,rect(c)表示轮廓c的外接矩形,R表示所有轮廓外接矩形的集合,Rc表示外接矩形rect(c)的长和宽,C′表示长宽比在特定范围内的轮廓集合。
其中,area(r)表示轮廓r外接矩形的面积,max_r即为精密仪表外边框对应轮廓的外接矩形,外接矩形max_r的四个顶点分别为A、B、C、D,如附图2所示。
实施例3:
本实施例在实施例2的基础上,所述步骤B的具体处理过程如下:
步骤B1:将步骤A表盘RGB图像进行灰度化处理,得到其灰度图Picgray;灰度图中每个像素点的像素值S的计算公式为:
S=0.299*R+0.587*G+0.114*B (6)
其中,R、G和B分别为相应像素点在表盘RGB图像中的像素值的三个分量;
步骤B2:采用自适应的二值化算法对步骤B1获得的灰度图像进行处理,得到精密压力表的二值图Picbin;
步骤B3:将步骤A表盘RGB图像的中心点作为表盘的圆心O(xO,yO);
其中Picwidth表示表盘RGB图像的宽,Picheight表示表盘RGB图像的高。
步骤B4:裁剪出步骤B2获得的二值图的下半部分图像Picbin_down,检测其中的局部不变特征,并且检测出其最小外接矩形的四个顶点;具体包括以下步骤:
B4-1:裁剪出步骤B2获得的二值图的下半部分图像Picbin_down;对步骤B2获得的二值图的下半部分区域进行腐蚀处理,之后使用Canny边缘检测算法检测图像中的边缘特征,然后寻找图像中的所有轮廓并且绘制所有轮廓的最小外接矩形;
B4-2:对于每一个最小外接矩形,计算其长度、宽度和面积,通过检测其长宽比、面积以及其是否位于中间位置,进而检测出对应的局部不变特征,从而获得该局部不变特征的最小外接矩形的四个顶点;
B4-3:设图像Picbin_down中的所有轮廓集合D={d1,d2,…,dn},其中di表示第i个轮廓。对于每个轮廓di∈D,其最小外接矩形的长度、宽度和面积分别为leni、wi和Ai。同时定义阈值rmin和rmax,其中rmin为最小长宽比,rmax为最大长宽比;同时定义阈值Amin和Amax,其中Amin为最小面积,Amax为最大面积。
对于每个轮廓的最小外接矩形ri,若满足以下条件,则认为其对应的轮廓为该局部不变特征的轮廓:
其中,ε为较小的非负实数,xi表示每个轮廓最小外接矩形ri中心点的横坐标。
B4-4:对局部不变特征轮廓的最小外接矩形提取四个顶点,分别为A2、B2、C2、D2,如附图2中所示。
步骤B5:根据相似三角形原理获得待校正圆形表盘图像的四个顶点,从而计算透视变换矩阵,对圆形表盘图像进行校正处理。
实施例4:
本实施例在实施例3的基础上,所述步骤B5具体包括以下步骤:
B5-1:如附图2中所示,对于步骤B4获得的局部不变特征的最小外接矩形A2B2C2D2,以该最小外接矩形的上边线A2B2和下边线C2D2为斜边,构建两个直角三角形△A2B2W2和△C2D2Q2;同时以步骤A表盘RGB图像中以上边线AB和下边线CD为直角边,构建两个直角三角形△A1BA和△CDD1;直角三角形△A2B2W2与直角三角形△A1BA相似,直角三角形△C2D2Q2与直角三角形△CDD1相似;进而对两组相似直角三角形计算相似比k,根据相似比k分别计算步骤A表盘RGB图像中直角三角形△A1BA,△CDD1的未知顶点A1、D1坐标;从这两个顶点A1、D1分别向另一个直角三角形的斜边CD1和A1B作垂线,可得到一个倾斜程度与步骤A表盘RGB图像相同的正方形A1B1C1D1,将正方形A1B1C1D1的四个顶点作为校正前表盘RGB图像的四个顶点A1、B1、C1、D1;
如图2,以线段C2 D2为斜边的直角三角形C2 D2 Q2与直角三角形CDD1相似,其中相似比k为:
根据该相似比,可计算出点D1的坐标:
同理,可计算出点A1的坐标(xA1,yA1);从D1向线段A1B作垂线,该垂线与线段A1B的交点即为B1(xB1,yB1);同理,从A1向线段CD1作垂线与该线段的交点即为C1(xC1,yC1)。
B5-2:步骤B5-1获得的四个顶点A1、B1、C1、D1和步骤A表盘RGB图像的四个顶点A、B、C、D构成四对点坐标,根据这四组点坐标即可计算从倾斜圆形表盘图像变换到校正圆形表盘图像的透视变换矩阵;
B5-3:使用步骤B5-2获得的透视变换矩阵对倾斜圆形表盘图像进行处理,获得校正后的表盘图像Piccorr,校正原理和结果图如附图2和附图3所示。
实施例5:
本实施例在实施例4的基础上,所述步骤C的具体处理过程如下:
步骤C1:对于步骤B53获得的校正后的表盘图像Piccorr,对其进行灰度化处理,然后再使用自适应二值化算法处理,得到校正后的表盘图像的二值图Piccorr_bin;
步骤C2:对于步骤C1获得的二值图Piccorr_bin,使用Canny边缘检测算法检测图像中的边缘特征;采用改进霍夫直线检测算法来检测校正后的表盘图像Piccorr中的指针线段;
实施例6:
本实施例在实施例5的基础上,所述步骤C2具体包括以下步骤:
S1:利用现有霍夫直线检测算法检测图像Piccorr_bin中的线段,得到线段集合;
S2:对于步骤S1获得的线段集合中的任意一条线段,分别计算其两个端点到圆心O(xO,yO)的距离,记为该线段到圆心的最大距离和最小距离;通过遍历该线段集合,即可求出所有线段端点到圆心的距离;将所有线段端点到圆心的最小距离进行排序,获得所有线段端点到圆心的最短距离;
设步骤S1获得的线段集合为L={l1,l2,l3,…,lm},其中lj表示第j条线段,m为集合中线段的数量;则该线段到圆心的最大距离Dis_maxj和最小距离Dis_minj可以表示为:
其中,分别表示第j条线段的起点和终点坐标,第j条线段到圆心的最大距离Dis_maxj和最小距离Dis_minj计算示意图如附图4所示。则所有线段到圆心的最小距离集合μ可表示为:
μ={Dis_minj|lj∈L} (13)
则所有线段端点到圆心的最短距离dis_min可表示为:
最终得到的最短距离dis_min如附图4中所示。
S3:以步骤S2获得的线段端点到圆心最短距离dis_min的n倍作为阈值,比较线段集合L中所有线段端点到圆心的最小距离与阈值的大小,若某线段端点到圆心的最小距离小于阈值,则放入新的线段集合ω,否则不放入;
ω={lj|lj∈L,Dis_minj<n*dis_min} (15)
S4:对于步骤S3获得的新的线段集合ω,将集合ω中所有线段端点到圆心的最大距离进行排序,距离最长的即为精密仪表指针对应的线段;
设该新线段集合ω为L′={l′1,l′2,l′3,…,l′t},其中l′j表示第j条线段;则集合ω中所有线段到圆心的最大距离集合ξ可表示为:
ξ={Dis_maxj|l′j∈L′} (16)
则新线段集合ω中所有线段端点到圆心的最长距离dis_max可表示为:
其中e表示新线段集合ω中的第e条线段,最终得到的最长距离dis_max如附图4中所示,其对应的线段即为检测出的精密仪表指针。
S5:对于步骤S4检测出的线段,获取其距离圆心较远的端点坐标T(xT,yT),根据点T(xT,yT)和圆心O(xO,yO)即可得出指针的偏转角度θT;
实施例7:
本实施例在实施例6的基础上,所述步骤D的具体处理过程如下:
步骤D1:对于步骤B获得的校正后的表盘图像Piccorr,对其进行均值滤波,然后使用Canny边缘检测算法进行处理,检测出图像中所有的边缘特征;
步骤D2:寻找图像中的所有轮廓并且绘制出对应的最大外接矩形,计算所有最大外接矩形的面积、长宽比、矩形中心与圆心连线的长度;
假设检测出的所有轮廓集合为C={C1,C2,C3,…,Ch},其中h是轮廓的数量。对于每个轮廓Ci,设其最大外接矩形的长和宽分别为Wi和Hi,设其最大外接矩形的中心坐标为最大外接矩形的面积Si、长宽比Ki和矩形中心与圆心连线的长度Lengthi分别为:
步骤D3:设定轮廓的最大外接矩形的面积阈值范围(Sth_min,Sth_max)、长宽比阈值范围(Kth_min,Kth_max)和矩形中心与圆心连线长度的阈值(Lengthth_min,Lengthth_max),若某轮廓的最大外接矩形的面积、长宽比和矩形中心与圆心连线长度均满足设定阈值,则将该边缘轮廓放入刻度线集合λ中;
最后,刻度线集合λ中存放的是所有满足条件的边缘轮廓。
步骤D4:对于步骤D3的刻度线集合λ={λ1,λ2,λ3,…,λv},计算其中轮廓对应的所有外接矩形中心与圆心O(xO,yO)连线的角度/>将角度从小到大依次排序,角度最小的外接矩形对应的轮廓即为零刻度线λZ,角度最大的外接矩形对应的轮廓即为满刻度线λF;
步骤D5:检测出零刻度线λZ和满刻度线λF后,分别将其对应的最大外接矩形的中心点和/>作为其方向点,则可计算这两点与圆心连线的偏角/>和/>
实施例8:
本实施例在实施例7的基础上,所述步骤E的具体处理过程如下:
步骤E1:根据已知的仪表量程Range、步骤D获得的零刻度线偏角和满刻度线偏角/>以及步骤C获得的指针偏转角度θT,即可利用几何关系计算出此时精密仪表的读数result,计算公式如下:
实施例9:
本实施例提供一种抗光照干扰的精密指针式仪表的自动识别与读数装置,包括图像采集模块,使用程序控制仪表图像的采集,使用上述抗光照干扰的精密指针式仪表的自动识别与读数方法,实现精密指针式仪表的自动读数。
将本发明与传统算法相比,采用实验样本对本发明效果进行验证,实验结果如附图5和6所示。附图5中,图(a)原始图像方框内的局部特征有明显倾斜,说明原始圆形表盘图像有所倾斜;在基于图像的局部不变特征校正圆形表盘图像后,图(b)方框内的局部特征明显被校正,说明本发明提出的基于图像局部不变特征校正圆形表盘图像的效果较好。附图6中,图(a)中采用现有霍夫直线检测算法检测的结果中存在许多干扰线段,图(b)采用本发明改进霍夫直线检测算法检测,可以有效排除干扰线段从而准确检测出指针线段。实验结果表明,本发明在输入图像受干扰(拍摄的图像有所倾斜、存在光照干扰等)的情况下,仍能准确完成指针检测和读数任务,具有较强的抗光照干扰性和稳定性。
综上,本发明方法能够同时满足鲁棒性、准确性以及不需要严格控制图像成像的光照条件和成像角度等辅助信息的要求,实用性较强。
Claims (9)
1.一种抗光照干扰的精密指针式仪表的自动识别与读数方法,其特征在于包括以下步骤:
步骤A:对摄像机拍摄的精密仪表图像进行预处理,得到表盘RGB图像,并获取其最小外接矩形的四个顶点A、B、C、D的坐标;
步骤B:对于步骤A表盘RGB图像,利用基于图像的局部不变特征校正其圆形表盘区域;
步骤C:对于步骤B校正后的精密仪表图像,检测其指针方向;
步骤D:对于步骤B校正后的精密仪表图像,检测其零刻度线和满刻度线方向;
步骤E:计算读数;
其中,所述步骤B的具体处理过程如下:
步骤B1:将步骤A表盘RGB图像进行灰度化处理,得到其灰度图Picgray;
步骤B2:采用自适应的二值化算法对步骤B1获得的灰度图像进行处理,得到精密仪表的二值图Picbin;
步骤B3:将步骤A表盘RGB图像的中心点作为表盘的圆心O(xO,yO);
其中Picwidth表示表盘RGB图像的宽,Picheight表示表盘RGB图像的高;
步骤B4:裁剪出步骤B2获得的二值图的下半部分图像Picbin_down,检测其中的局部不变特征,并且检测出其最小外接矩形的四个顶点A2、B2、C2、D2;
步骤B5:根据相似三角形原理获得校正前表盘RGB图像的四个顶点,从而计算透视变换矩阵,对圆形表盘图像进行校正处理。
2.根据权利要求1所述的方法,其特征在于,所述步骤B5具体包括以下步骤:
B5-1:对于步骤B4获得的局部不变特征的最小外接矩形,以该最小外接矩形的上边线或下边线为斜边,构建两个直角三角形a1、a2;同时以步骤A表盘RGB图像中以上边线或下边线为直角边,构建两个直角三角形b1、b2;直角三角形a1与直角三角形b1相似,直角三角形a2与直角三角形b2相似;进而对两组相似直角三角形计算相似比k,根据相似比k分别计算步骤A表盘RGB图像中直角三角形b1、b2的未知顶点A1、D1;从这两个顶点A1、D1分别向另一个直角三角形的斜边作垂线,可得到一个倾斜程度与步骤A表盘RGB图像相同的正方形,将该正方形的四个顶点作为校正前表盘RGB图像的四个顶点A1、B1、C1、D1;
B5-2:步骤B5-1获得的四个顶点A1、B1、C1、D1和步骤A表盘RGB图像的四个顶点A、B、C、D构成四对点坐标,根据这四组点坐标即可计算从倾斜圆形表盘图像变换到校正圆形表盘图像的透视变换矩阵;
B5-3:使用步骤B5-2获得的透视变换矩阵对倾斜圆形表盘图像进行处理,获得校正后的表盘图像Piccorr。
3.根据权利要求1所述的方法,其特征在于,所述步骤C的具体处理过程如下:
步骤C1:对于步骤B5-3获得的校正后的表盘图像Piccorr,对其进行灰度化处理,然后再使用自适应二值化算法处理,得到校正后的精密仪表表盘图像的二值图Piccorr_bin;
步骤C2:对于步骤C1获得的二值图Piccorr_bin,使用Canny边缘检测算法检测图像中的边缘特征;采用改进霍夫直线检测算法来检测校正后的表盘图像Piccorr中的指针线段。
4.根据权利要求3所述的方法,其特征在于,所述步骤C2中采用改进霍夫直线检测算法来检测校正后的表盘图像Piccorr中的指针线段采用以下方法:
S1:利用霍夫直线检测算法检测图像Piccorr_bin中的线段,得到线段集合L;
S2:对于步骤S1获得的线段集合L中的任意一条线段,分别计算其两个端点到圆心O(xO,yO)的距离,记为该线段到圆心的最大距离和最小距离;通过遍历线段集合L,求出所有线段端点到圆心的距离;将所有线段端点到圆心的最小距离进行排序,获得所有线段端点到圆心的最短距离;
S3:以步骤S2获得的线段端点到圆心最短距离dis_min的n倍作为阈值,比较线段集合L中所有线段端点到圆心的最小距离与阈值的大小,若某线段端点到圆心的最小距离小于阈值,则放入新的线段集合ω,否则不放入;
S4:对于步骤S3获得的新的线段集合ω,将集合ω中所有线段端点到圆心的最大距离进行排序,距离最长的即为精密仪表指针对应的线段;
S5:对于步骤S4检测出的线段,获取其距离圆心较远的端点坐标T(xT,yT),根据点T(xT,yT)和圆心O(xO,yO)即可得出指针的偏转角度θT;
5.根据权利要求1所述的方法,其特征在于,所述步骤D的具体处理过程如下:
步骤D1:对于步骤B获得的校正后的表盘图像Piccorr,对其进行均值滤波,然后使用Canny边缘检测算法进行处理,检测出图像中所有的边缘特征;
步骤D2:寻找图像中的所有轮廓并且绘制出对应的最大外接矩形,计算所有最大外接矩形的面积、长宽比、矩形中心与圆心连线的长度;
步骤D3:将最大外接矩形的面积、长宽比和矩形中心与圆心连线长度均满足设定阈值的轮廓放入刻度线集合λ中;
步骤D4:对于刻度线集合λ={λ1,λ2,λ3,…,λv},计算其中轮廓对应的所有外接矩形中心与圆心O(xO,yO)连线的角度/>将角度从小到大依次排序,角度最小的外接矩形对应的轮廓即为零刻度线λZ,角度最大的外接矩形对应的轮廓即为满刻度线λF;
步骤D5:将零刻度线λZ和满刻度线λF对应的最大外接矩形的中心点和/>作为方向点,则可计算这两点与圆心O(xO,yO)连线的零刻度线偏角/>和满刻度线偏角/>
6.根据权利要求1所述的方法,其特征在于,所述步骤E的具体处理过程如下:
根据仪表量程Range、零刻度线偏角和满刻度线偏角/>以及指针偏转角度θT,利用几何关系计算出此时精密仪表的读数result。
7.实现权利要求1-6任一项所述方法的精密指针式仪表自动识别与读数系统,其特征在于包括:
数据获取以及预处理模块,获取精密仪表图像并预处理,同时获取最小外接矩形的四个顶点;
校正模块,利用基于图像的局部不变特征对表盘RGB图像校正;
第一计算模块,对校正后的表盘RGB图像检测其指针方向,计算得到指针偏转角度;
第二计算模块,对校正后的表盘RGB图像检测零刻度线偏角和满刻度线偏角;
第三计算模块,根据仪表量程、零刻度线偏角和满刻度线偏角以及指针偏转角度计算读数。
8.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-6中任一项所述的方法。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310902240.XA CN116958950A (zh) | 2023-07-21 | 2023-07-21 | 一种抗光照干扰的精密指针式仪表的自动识别与读数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310902240.XA CN116958950A (zh) | 2023-07-21 | 2023-07-21 | 一种抗光照干扰的精密指针式仪表的自动识别与读数方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116958950A true CN116958950A (zh) | 2023-10-27 |
Family
ID=88445678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310902240.XA Pending CN116958950A (zh) | 2023-07-21 | 2023-07-21 | 一种抗光照干扰的精密指针式仪表的自动识别与读数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116958950A (zh) |
-
2023
- 2023-07-21 CN CN202310902240.XA patent/CN116958950A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993166B (zh) | 基于刻度查找的指针式仪表读数自动识别方法 | |
CN106778823B (zh) | 一种指针式仪表读数自动识别方法 | |
CN111414934A (zh) | 一种基于Faster R-CNN和U-Net的指针式仪表读数自动识别方法 | |
CN112699876B (zh) | 一种用于集气站多类型仪表自动读数方法 | |
CN111368906B (zh) | 一种基于深度学习的指针式油位计读数识别方法 | |
CN108613630B (zh) | 基于图像处理技术的两线型管水准器气泡偏移量测量方法 | |
CN110706293B (zh) | 基于surf特征匹配的电子元器件定位和检测方法 | |
CN109284718B (zh) | 面向巡检机器人的变视角多仪表同时识别方法 | |
CN109409290B (zh) | 一种温度表检定读数自动识别系统及方法 | |
CN114549835A (zh) | 一种基于深度学习的指针式仪表矫正识别方法及装置 | |
CN112613429A (zh) | 一种基于机器视觉适用于多视角图像指针式仪表读数方法 | |
CN110288612B (zh) | 铭牌定位与校正方法及设备 | |
CN114627080B (zh) | 基于计算机视觉的车辆冲压配件缺陷检测方法 | |
CN115100116A (zh) | 一种基于三维点云的板材缺陷检测方法 | |
CN114022439A (zh) | 一种基于形态学图像处理的柔性电路板缺陷检测方法 | |
CN111950559A (zh) | 一种基于径向灰度的指针仪表自动读数方法 | |
Mai et al. | An automatic meter reading method based on one-dimensional measuring curve mapping | |
CN115546795A (zh) | 一种基于深度学习的圆形指针式仪表自动读数方法 | |
CN113902894A (zh) | 一种基于图像处理的条式水平仪自动读数识别方法 | |
CN115760860B (zh) | 一种基于dxf文件导入的多类型工件尺寸视觉测量方法 | |
CN111091121B (zh) | 一种基于图像处理的椭圆表盘检测矫正的方法 | |
CN117037132A (zh) | 一种基于机器视觉的船舶水尺读数检测和识别方法 | |
CN112990190A (zh) | 指针式仪表读数的识别方法、装置 | |
CN116880353A (zh) | 一种基于两点间隙的机床对刀方法 | |
CN116958950A (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 |