首页> 中国专利> 一种基于机械角度和刻度识别的汽车仪表指针的位置检测方法

一种基于机械角度和刻度识别的汽车仪表指针的位置检测方法

摘要

一种基于机械角度和刻度识别的汽车仪表指针的位置检测方法,本发明涉及指针的位置检测方法。本发明是要解决传统方法检测指针小角度时指针产生形变、零点刻度的依赖性高而导致的刻度分布特征不准确不能得到规整的刻度序列以及传统方法不会检测到仪表盘在装配时产生的旋转误差的问题,而提出的一种基于机械角度和刻度识别的汽车仪表指针的位置检测方法。该方法是通过一计算单帧灰度图像的旋转角度;二对单帧二值图像先进行归一化再进行二值化后进行腐蚀操作;三对图像进行极坐标变换;四获得指针直线方程的参数;五计算指针机械角度;六计算指针指向刻度值;七得出实际单位的值等步骤实现的。本发明应用于指针的位置检测领域。

著录项

  • 公开/公告号CN103759758A

    专利类型发明专利

  • 公开/公告日2014-04-30

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学;

    申请/专利号CN201410037951.6

  • 申请日2014-01-26

  • 分类号G01D18/00(20060101);G01B11/26(20060101);

  • 代理机构23109 哈尔滨市松花江专利商标事务所;

  • 代理人杨立超

  • 地址 150001 黑龙江省哈尔滨市南岗区西大直街92号

  • 入库时间 2024-02-19 23:23:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-17

    授权

    授权

  • 2014-06-04

    实质审查的生效 IPC(主分类):G01D18/00 申请日:20140126

    实质审查的生效

  • 2014-04-30

    公开

    公开

说明书

技术领域

本发明涉及汽车仪表指针的位置检测方法。

背景技术

工业上对仪表盘的检测内容主要是检测各表指针的转角误差。而指针检测的准确性是 仪表盘质量优劣的关键,其中又以指针转角的检测最为困难。

目前,我国仪表盘生产行业多数采用人工方式对指针仪表进行检定和校验,质检的误 差大,效率很低,增加生产成本。运用数字图像处理技术实现汽车仪表指针的自动检测可 以提高检测效率,降低检测误差,降低生产成本。

仪表检测系统会向仪表盘给出控制指针转动的信号,指针转动后由相机对仪表盘图像 进行采集,截取待检指针仪表部分。通过图像处理技术,识别出指针转角,与所给信号所 代表的角度进行比较,来判断该角度的指针转动是否合格。

传统指针转角识别方法为剪影法。剪影法的主要步骤为:对两帧有角度偏差的图像做 最小灰度相减,对指针进行阈值分割和细化,对图像进行Hough变换提取指针的直线信息, 对两指针角度差进行计算。而现在指针转角的检测精度要求较高,在进行小角度检测时, 指针如果过宽,会在剪影后被滤掉一部分面积,本来对称的指针会有形变,在进行指针细 化后会与实际指向角度有较大误差,给直线拟合造成一定困难。

传统的基于刻度的对指针转角的检测算法,主要依据指针在刻度范围内所指的位置来 识别转角。该算法对表盘上零点刻度的依赖性很高,当零点被干扰,也就是指针遮挡零点 时,会在后续处理时造成刻度点缺失,导致刻度分布特征不准确。并且基于刻度的算法对 刻度点的清晰性、可识别性要求很高,当刻度间隔过大导致可识别出的刻度点过少时,会 导致图像经过极坐标变换后不能得到规整的刻度序列;

仪表盘在装配时如果产生旋转误差,基于刻度的对指针转角的检测算法不会检测到这 部分误差,而只识别出指针相对于刻度的关系,但是仪表盘的装配仍然存在问题。

发明内容

本发明的目的是为了解决剪影法在进行指针小角度检测时,使得做差操作后的指针会 产生形变,给直线拟合造成困难及基于刻度的指针转角的检测算法对表盘上零点刻度的依 赖性很高,当零点受到干扰时,导致刻度分布特征不准确使得图像经过极坐标变换后不能 得到规整的刻度序列以及传统方法不会检测到仪表盘在装配时产生的旋转误差的问题而提 出的一种基于机械角度和刻度识别的汽车仪表指针的位置检测方法。

上述的发明目的是通过以下技术方案实现的:

步骤一、利用相机采集的单帧灰度图像与模板图像进行旋转角度计算;

步骤二、对相机采集的单帧灰度图像首先进行图像灰度归一化再利用大津阈值对归一 化后的单帧灰度图像进行二值化然后对单帧二值图像进行腐蚀操作;

步骤三、利用汽车仪表的刻度所在位置计算最小二乘圆并从圆心处对腐蚀操作后的单 帧二值图像进行极坐标变换;

步骤四、极坐标变换后,对极坐标中的指针进行细化得到外接矩形信息并对图像进行 Hough变换获得指针直线方程的参数;

步骤五、利用相机采集的单帧灰度图像的旋转角度和指针直线参数计算出表盘旋转后 的指针机械角度;

步骤六、利用基于刻度的指针算法根据直线参数与刻度序列中所有刻度坐标的关系计 算出指针指向的刻度值;

步骤七、利用步骤五获得的指针机械角度和步骤六计算出指针指向的刻度值,经过单 位换算得出实际单位的值;即完成了一种基于机械角度和刻度识别的汽车仪表指针的位置 检测。

发明效果:

本发明在进行指针小角度检测时,100%消除指针指向小角度时与实际指向角度的偏差, 从而准确地进行直线参数的拟合。因为本发明采用单帧法,所以在计算过程中即使是小角 度的偏转,也可求取指针转角。由于本发明对采集图像进行了旋转角度的计算,从而100% 的消除了由于表盘安装或者检测时的放置偏差而导致的转角误差,并且本发明还对采集到 的图像做初步的判断,根据计算出采集到图像的旋转角度过大,来说明仪表摆放出错或者 表盘安装出错。

本发明准确的计算出最小二乘圆的方程和圆心坐标,清除了极坐标图像带来的偏差并且 本发明为了降低对零刻度准确性的依赖对图像得到的刻度序列进行类似方差的判定使得图 像经过极坐标变换后得到规整的刻度序列,并且本发明在零刻度信息获取失败时会采用机 械角度作为输出结果,使得即便是存在刻度点过于细小或者排列过密为阈值分割加大难度, 刻度可能会粘连在一起的情况也会准确的识别指针转角。

附图说明

图1是具体实施方式一中提出的一种基于机械角度和刻度识别的汽车仪表指针的位置 检测方法的流程图;

图2是实施例一中提出的算法的数据结构图;

图3为实施例一中提出的算法的主要接口函数;

图4是实施例一中提出的MatchTemplate函数流程图;

图5是实施例一中提出的FindMark函数流程图;

图6是实施例一中提出的GetLine函数流程图;

图7是实施例一中提出的CalculateAngle函数流程图;

图8是实施例一中提出的汽车仪表的转速表灰度图像;

图9是实施例一中腐蚀后的二值化图像;

图10是实施例一中提出的极坐标变换后的图像;

图11是实施例一中细化后的指针图像。

具体实施方式

具体实施方式一:本实施方式的一种基于机械角度和刻度识别的汽车仪表指针的位置 检测方法,具体是按照以下步骤制备的:

步骤一、利用相机采集的单帧灰度图像与模板图像进行旋转角度计算;

步骤二、对相机采集的单帧灰度图像首先进行图像灰度归一化再利用大津阈值对归一 化后的单帧灰度图像进行二值化然后对单帧二值图像进行腐蚀操作;

步骤三、利用汽车仪表的刻度所在位置计算最小二乘圆并从圆心处对腐蚀操作后的单 帧二值图像进行极坐标变换;

步骤四、极坐标变换后,对极坐标中的指针进行细化得到外接矩形信息并对图像进行 Hough变换获得指针直线方程的参数;

步骤五、利用相机采集的单帧灰度图像的旋转角度和指针直线参数计算出表盘旋转后 的指针机械角度;

步骤六、利用基于刻度的指针算法根据直线参数与刻度序列中所有刻度坐标的关系计 算出指针指向的刻度值;所得刻度值更符合人们读取刻度值的形式,相对于机械角度来说, 为更加直观的结果;

步骤七、利用步骤五获得的指针机械角度和步骤六计算出指针指向的刻度值,经过单 位换算得出实际单位的值如图1;即完成了一种基于机械角度和刻度识别的汽车仪表指针的 位置检测。

本实施方式效果:

本实施方式在进行指针小角度检测时,100%消除指针指向小角度时与实际指向角度的偏 差,从而准确地进行直线参数的拟合。因为本实施方式采用单帧法,所以在计算过程中即 使是小角度的偏转,也可求取指针转角。由于本实施方式对采集图像进行了旋转角度的计 算,从而100%的消除了由于表盘安装或者检测时的放置偏差而导致的转角误差,并且本 实施方式还对采集到的图像做初步的判断,根据计算出采集到图像的旋转角度过大,来说 明仪表摆放出错或者表盘安装出错。

本实施方式准确的计算出最小二乘圆的方程和圆心坐标,清除了极坐标图像带来的偏差 并且本实施方式为了降低对零刻度准确性的依赖对图像得到的刻度序列进行类似方差的判 定使得图像经过极坐标变换后得到规整的刻度序列,并且本实施方式在零刻度信息获取失 败时会采用机械角度作为输出结果,使得即便是存在刻度点过于细小或者排列过密为阈值 分割加大难度,刻度可能会粘连在一起的情况也会准确的识别指针转角。

具体实施方式二:本实施方式与具体实施方式一不同的是:步骤一所述利用相机采集 的单帧灰度图像与模板图像进行旋转角度计算过程为:

(1)选定模板图像,若模板图像旋转角度接近为0,将模板图像以正负1度为步进,其 中,正负1度指代以模板图像中心为旋转中心的旋转角度;其中,模板图像为相机环境稳 定并且待检测仪表摆放无偏差情况下采集到的;

(2)选定模板图像与采集单帧灰度图像进行匹配,模板图像的中心为旋转中心,模板 图像旋转0度时与采集单帧灰度图像进行匹配,得到模板图像旋转0度时的匹配值;模板 图像旋转1度形成新的模板图像,新的模板图像与采集图像进行匹配,得到模板图像旋转1 度时的匹配值;如此循环,直至模板图像旋转角度达到正负30度时截止;

(3)比较所有的选定模板图像与采集单帧灰度图像匹配结果,找到最高的匹配值,检 测最高的匹配值是否大于一个设定好的阈值;若小于这个阈值,图像内容不是算法所需要 的仪表内容(比如图像采集出错,仪表摆放偏差过大);即使得到匹配值最高的角度,也不 能认为找到仪表的旋转角度,则认为旋转角度识别失败,自动使用基于刻度识别的汽车仪 表指针的位置检测方法;其中阈值是通过离线训练获取的匹配值;

(4)当找到的最高匹配值大于阈值,则对应的模板图像旋转的角度作为采集单帧灰度 图像的旋转角度。其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:步骤二所述对相机采 集的单帧灰度图像首先进行图像灰度归一化再利用大津阈值对归一化后的单帧灰度图像进 行二值化然后对单帧二值图像进行腐蚀操作的过程为:

1)对相机采集的单帧灰度图像灰度进行归一化:

设该图像灰度范围为[m,n],将其扩大到[0,255],按如下公式:

f(x,y)为某一点原始灰度,g(x,y)为归一化后该点灰度;

2)利用大津阈值对归一化后的单帧灰度图像进行二值化:

(1)计算图像的灰度直方图,使用Pi,i=0,1,2,……,255表示该直方图的各个分量,Pi为图像中第i个灰度值出现的概率,i为灰度值的个数;

(2)计算各阈值下的累积和P(k)=Σ0kpi,k=1,2......254;

(3)计算各阈值下的累积均值m(k)=Σ0kipi,k=1,2,......,254;

(4)计算全局灰度均值

(5)计算各阈值下的类间方差σB2=[mGP(k)-m(k)]2P(k)[1-P(k)],k=1,2,......,254;

(6)得到使得最大的k值,即为大津阈值k*,利用如下公式对图像进行二值化: g(x,y)=255,f(x,y)>k*0,f(x,y)k*f(x,y)为某一点原始灰度,g(x,y)为二值化后的灰度;

3)对二值化的单帧灰度图像进行腐蚀操作:

得到的二值图像的所有黑点(即灰度值为0的点),将该黑点的上下左右四邻域内的点 变为黑点(灰度值变成0);因为腐蚀而变为黑点的白点不需要再次腐蚀,从而减少汽车仪 表刻度点之间及汽车仪表指针与汽车仪表刻度点之间的多余相连点。其它步骤及参数与具 体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:步骤三利用汽车仪 表的刻度所在位置计算最小二乘圆并从圆心处对腐蚀操作后的单帧二值图像进行极坐标变 换的过程分为三个步骤:

1)、对二值图像进行连通域处理,利用Canny算子获得的边界求出各连通域的外接矩 形的位置和长宽信息,并将连通域的外接矩形的位置和长宽信息作为特征信息,利用K-均 值(K-mean)方法对所有外接矩形进行聚类分析,通过设定长宽和面积参数阈值确定汽车 仪表上的刻度点,其中长宽和面积参数阈值为当相机环境相对稳定时通过离线训练得出的;

2)、利用1)得到的刻度点,计算最小二乘圆得出最小二乘圆方程:

(1)椭圆方程为Ax2+Bxy+Cy2+Dx+Ey+F=0;

(2)在所有刻度点中任意选取6个点,分别代入椭圆方程中求取代数距离;

(3)令目标函数f(A,B,C,D,E,F)=Σi=16(Axi2+Bxiyi+Cyi2+Dxi+Eyi+F)2,求取 的解,得到使f最小的方程系数组合,则求得椭圆方程;

(4)遍历所有刻度点,分别求各个刻度点到椭圆的代数距离,若刻度点到椭圆的代数距 离在一个设定阈值以内(该阈值为离线训练得出),则刻度点是匹配点;最后统计椭圆中匹 配点总数Pi

(5)再在所有刻度点中任选6个点,重复3)4)步骤,直至所有刻度点的组合都被计 算过为止,总循环次数为n为刻度点总数;选出最大的Pi,最大的Pi对应的方程为最 小二乘圆方程;

3)通过最小二乘圆方程计算出最小二乘圆的圆心坐标cpt.x和cpt.y,cpt为最小二乘圆 的圆心点,从该圆心处对二值化后的单帧二值图像进行极坐标变换。其它步骤及参数与具 体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:步骤四所述极坐 标变换后,对极坐标中的指针进行细化得到外接矩形信息并对图像进行Hough变换获得指 针直线方程的参数的主要过程为:

(1)利用Deutsch细化算法将极坐标变换后的图像全部进行细化,利用3*3的模板遍历 图像,计算每个像素的八邻域上的0-1的穿越次数P和非0相邻点的数目N,当P和N的 数目满足Deutsch算法中的条件时,将该点删除,反复执行上述操作直至没有可以删除的点, 其中极坐标变换后的图像全部进行细化,内容包含对噪声、刻度点及指针的细化;

(2)利用Canny算子得到细化后的图像各连通域的边界,对所得各连通域的边界进行 连通域处理,得到细化后的图像外接矩形边界信息,通过外接矩形长宽参数和面积参数过 滤掉噪声和刻度点,找出指针部分并截取中间一部分留下的唯一连通域就是指针部分;其 中外接矩形边界信息是长宽参数和面积参数;一般情况下,指针的连通域的长度要远远大 于宽度,通过在离线情况下训练出长宽比的阈值,找出指针部分,考虑到指针的头尾处会 有其他干扰噪声,所以根据仪表的不同情况截取中间一部分指针,该部分就是后续处理所 用的指针部分;

(3)最后对得到的指针进行霍夫Hough变换,得到指针直线方程的参数。其它步骤及 参数与具体实施方式一至四之一相同。

具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:步骤五利用旋转 角度和指针直线参数计算出表盘旋转后的指针机械角度的主要过程为:

(1)根据步骤四中获得的指针外界矩形信息和直线参数计算细化后指针的平均纵坐标 yave,作为亚像素信息,当图像高度为height时,可得指针在原仪表图像中的角度为 该角度再加上步骤一求出的旋转角度就得到指针的机械角度(由于像素位置 只能是整数,但是直线所指位置可能是几点几个像素,为了精确表示直线的指向,细化后 指针平均纵坐标为小数形式,小数形式称为亚像素,而不是作为亚像素);

(2)当模板图像缺失,或者旋转角度求取失败时,未利用步骤一求出旋转角度,则转 为步骤六的基于刻度的指针算法根据直线参数与刻度序列中所有刻度坐标的关系计算出指 针指向的刻度值;

(3)若步骤一中已经求出旋转角度,则将步骤四求出的平均纵坐标与步骤一获得的旋 转角度相加,得到考虑表盘旋转后的指针机械角度。其它步骤及参数与具体实施方式一至 五之一相同。

具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:步骤六所述利用 基于刻度的指针算法根据直线参数与刻度序列中所有刻度坐标的关系计算出指针指向的刻 度值的主要过程为:

(1)将步骤四中获得的连通域外接矩形信息,通过设定矩形位置阈值和长宽阈值,逐 个考察所有外接矩形,当其位置和长宽都满足设定阈值要求,则认为该矩形对应的连通域 是汽车仪表刻度点,当考察完所有外接矩形后,则得到汽车仪表所有的刻度点,进而计算 得汽车仪表所有刻度中心坐标信息;

(2)将所有刻度中心坐标信息中的中心纵坐标信息依次排序,获得坐标序列,其中坐 标序列包含n个坐标,i=1,2,3.....n;纵坐标最小的即为零刻度为坐标序列第i=1个坐标;

(3)计算第1个坐标零刻度与第2个坐标刻度的中心纵坐标差值p1,和其余相邻刻度 点纵坐标差,将纵坐标差值p1逐个与其余纵坐标差进行相减再平方,最后求和:

公式为D为和值,ki为第i个纵坐标;

(4)将D与给定的阈值进行比较,若所求D大于离线训练得出结果的阈值,则视为刻 度序列识别失败,则采用步骤五所得指针机械角度作为结果,若未利用步骤一求出旋转角 度,则机械角度也求取失败,则判定本次基于机械角度和刻度识别的汽车仪表指针的位置 检测识别失败;其中阈值为对于不同的仪表需要通过离线训练得出结果;

(5)若所求D小于上述阈值,则刻度序列有效,通过步骤四中获得的直线参数与本步 骤中获得的刻度序列信息计算得到指针的刻度值的过程为:

首先利用直线参数可得知该直线方程为:

s=xcosθ+ysinθ

其中s和θ为霍夫变换的结果;

然后对图像中所有刻度中心的横坐标相加再取平均值,记为Xave;将Xave代入直线方 程中,得到直线在Xave横坐标下的纵坐标值,即为指针的刻度值。其它步骤及参数与具体 实施方式一至六之一相同。

具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:步骤七所述利用 步骤五获得的指针机械角度和步骤六计算出指针指向的刻度值,经过单位换算得出实际单 位的值主要过程为:

利用步骤五获得的指针机械角度和步骤六计算出指向的刻度值,经过单位换算得到对 应的两个实际单位的值,两个实际单位的值的差值如果满足精度要求,则指针转角识别成 功,并且步骤六获得的刻度值换算出的实际单位的值为最终结果;其中精度要求指工程项 目中所要求的指针识别误差精度要求;实际单位的值需要根据相应仪表将机械角度和刻度 换算成转速、车速等具有实际单位的值。其它步骤及参数与具体实施方式一至七之一相同。

采用以下实施例验证本发明的有益效果:

实施例一

步骤一、输入图像为一张旋转一定角度的汽车仪表的转速表灰度图像如图8所示,模 板为近似无旋转角度的图像,两图像尺寸均为460×350;结构体match_data为图像矫正的 数据结构,其中angle为存储旋转角度的变量,两幅图像会被传入MatchTemplate(IplImage*, IplImage*)这个函数中如图4所示,返回match_data结构体,那么我们就保留angle数据为 计算机械角度时使用,此时angle=2.03°,abflag=TRUE,angle_center=(230,175), x_change=y_change=0,说明以模板图像中心为旋转中心,且无xy方向偏移时,输入图像的 旋转角度为2.03°;

步骤二、_angledata为指针转角结果的数据结构,angle_jixie存储机械角度,angle_kedu 存储刻度值,ratio存储每格刻度占用的角度;输入图像和angle变量需要被传入到 GetAngle(IplImage*,float)函数中,在该函数中,会完成指针转角识别的全部工作,算法经过

1)对相机采集的单帧灰度图像灰度进行归一化:

该图像灰度范围为[0,182],将其扩大到[0,255],按如下公式:

f(x,y)为某一点原始灰度,g(x,y)为归一化后该点灰度;

2)利用大津阈值对归一化后的单帧灰度图像进行二值化:

(1)计算图像的灰度直方图,使用pi,k=0,1,2,……,255表示该直方图的各个分量;

(2)计算各阈值下的累积和P(k)=Σ0kpi,k=1,2......254;

(3)计算各阈值下的累积均值m(k)=Σ0kipi,k=1,2,......,254;

(4)计算全局灰度均值

(5)计算各阈值下的类间方差σB2=[mGP(k)-m(k)]2P(k)[1-P(k)],k=1,2,......,254;

(6)得到使得最大的k值,即为大津阈值k*,本例中得k*=12,利用如下公式对图 像进行二值化

g(x,y)=255,f(x,y)>k*0,f(x,y)k*,f(x,y)为某一点原始灰度,g(x,y)为二值化后的灰度;

3)对二值化的单帧灰度图像进行腐蚀操作:

得到的二值图像的所有黑点(即灰度值为0的点),将该黑点的上下左右四邻域内的点 变为黑点(灰度值变成0);因为腐蚀而变为黑点的白点不需要再进行腐蚀操作;从而减少 汽车仪表刻度点之间及汽车仪表指针与汽车仪表刻度点之间的多余相连点如图9所示;算 法首先对图像进行灰度归一化、大津阈值法二值化以及腐蚀操作,传入到 GetAngle(IplImage*,float)函数最终会返回_angledata结构体;

步骤三、结构体_markdata为刻度点的数据结构,其中polarhtmag=3和polarRmag=250 为极坐标变换时所用的常量;GetAngle函数会调用FindMark(IplImage*,_markdata)函数来 寻找刻度点如图5,并获得它们的信息,存储在_markdata结构体中,本例中cpt=(273,271), averr=210为刻度盘的平均半径;成功后,GetAngle函数会以cpt为中心,对图像进行极坐 标变换如图10所示;

步骤四、GetAngle函数会继续调用GetLine(IplImage*,float*)函数来获取指针的直线参 数,在GetLine函数中,首先对图像进行细化如图11所示,细化后GetLine函数会截取指 针的一部分图像进行霍夫变换,得到拟合后的直线参数如图6,本例中截取指针的1/4到3/4 的部分进行霍夫变换,得到指针参数θ=91.82,s=492.56;

步骤五、最后GetAngle函数会调用CalculateAngle(float*,_markdata,match_data,int),将 直线参数、刻度点信息和旋转角度信息传入其中,CalculateAngle函数会计算指针的机械角 度,本例中得出机械角度为angle_jixie=179.82°;并且获得极坐标下的刻度序列,得出 _markdata结构体中的其他变量的值,其中averdist=17.5为刻度序列的平均间隔,anglevec 为刻度序列对应的转角序列,markvec为刻度序列的刻度纵坐标,markveclen=37为刻度序 列长度,最后计算出指针所指刻度值为angle_kedu=19.8(格),最后返回指针结果的数据结 构;

步骤六、仪表检测中基于图像处理的结合指针机械角度和刻度值的指针转角的准确识别 方法,在模板样图缺失的情况下,不需调用MatchTemplate函数,直接调用GetAngle函数, 完成后续操作,可得到基于刻度的指针转角的CalculateAngle函数流程图如图7所示;

仪表检测中基于图像处理的结合指针机械角度和刻度值的指针转角的准确识别方法,在 刻度信息不明显时,如刻度过于稀疏或者刻度过于细小紧凑,可以按照步骤一到步骤五进行, 算法会返回基于机械角度的转角进行计算,当对输入图像进行改动后,将刻度遮挡住一部分, 算法返回的机械角度仍为angle_jixie=179.82°;算法的数据结构图如图2所示;

仪表检测中基于图像处理的结合机械角度和刻度值的指针转角识别的方法,给它输入 一帧灰度图像,经过图像旋转角度的计算、预处理和二值化、极坐标变换、直线拟合来得 到指针的机械转角和刻度值;

图像旋转角度的计算需要给定模板图像,若旋转角度计算失败,则在结果处理时只采 用基于刻度的指针算法;

当同时求出机械转角和刻度值,并且符合精度要求,则采用刻度值换算出的结果作为 输出结果;

本实施例的目的是为了解决(1)剪影法对两帧图像进行做差后保留指针区域中点亮的指 示灯、文字和图案对之后的处理造成一定的干扰;在进行指针小角度检测时,做差操作后 的指针会产生形变,给直线拟合造成困难;当图像在采集过程中存在畸变时,利用剪影法 所识别出的指针转角与实际角度有偏差;(2)基于刻度的指针转角的检测算法对表盘上零点 刻度的依赖性很高,当零点受到干扰时,导致刻度分布特征不准确,图像经过极坐标变换 后不能得到规整的刻度序列从而不能得出正确刻度指向;从而导致仪表检测中指针的剪影 法和基于刻度的指针转角的检测算法误差大、稳定性不高(3)剪影法与基于刻度的指针算法 结合,会增加算法复杂性;及仪表盘上的其他干扰物会在刻度点识别过程中被误认为刻度 点,导致刻度分布特征不准确;本实施例一中算法的主要接口函数如图3所示;

本实施例由于避免了剪影法中的两帧图像做差的步骤,所以得到的指针不会有缺失, 在进行指针细化时可以更好地获得指针骨架,在进行指针小角度检测时,会消除指针小角 度与实际指向角度偏差,从而可以得到更好地进行直线参数的拟合;也由于采用单帧法, 即使是小角度的偏转,也可以用本算法来求取指针转角;采集到图像后,对采集图像进行 了旋转角度的计算,在机械角度计算时可以避免由于表盘安装或者检测时的放置偏差而导 致的转角误差,同时,旋转角度的计算也可以对采集到的图像做初步的判断,如果旋转角 度过大,则说明仪表摆放出错或者表盘安装出错;对二值图像进行了连通域处理,通过处 理器外接矩形的长宽、面积、位置的参数,可以过滤掉指示灯、文字、图案等噪声干扰; 采用了基于刻度信息的指针识别方法,指针的刻度信息是在刻度序列上插值得出的,可以 避免由于镜头畸变导致的机械角度上的误差,同时基于刻度信息的指针转角识别方法也是 人观察仪表的更准确的复现;考虑到基于刻度信息的指针识别方法过于依赖零刻度的准确 性,所以在得到刻度序列后对序列进行类似方差的判定;零刻度信息获取失败的主要原因 有:刻度点过少,致使最小二乘圆和圆心的偏差较大,从而极坐标图像偏差较大,最终导 致刻度不能整齐的排列;刻度点过于细小或者排列过密,为阈值分割加大难度,刻度可能 会粘连在一起,导致在判定刻度序列可行性时判定失败;本算法中若零刻度信息获取失败, 则采用机械角度作为输出结果;本算法利用了极坐标变换,将转角信息转换为纵坐标差信 息,在核心识别部分,即机械角度信息和刻度值的计算部分,可以让两个识别算法在同一 幅处理结果图像中计算,两种方法的结合有严格的配合机制,在一种算法失败时会使用另 一种算法的结果,在综合两种算法优势的同时也简化了算法的复杂性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号