基于视觉的指针式仪表自动读取系统和方法_2

文档序号:9787809阅读:来源:国知局
,去掉干扰 信息;
[0046] S4-2,检测椭圆并标记。
[0047] 所述的基于视觉的指针式仪表自动读取方法,优选的,所述S4-2包括:
[0048] S4-2-1,在二维平面坐标系中,椭圆用两种形式来表示,一种是利用圆锥曲线方程 的代数形式表示,如下所示:
[0049] Ax2+Bxy+Cy2+Dx+Ey+F = 0,其中厶,8,(:,04,卩为系数(常数)
[0050] 另外用平面坐标系的几何参数表示,即椭圆中心位置(XQ,yQ),长轴和短轴(a,b), 长轴的转角Θ,二维平面里的任何椭圆用这5个参数唯一确定,

其中a为长轴,b为短轴;
[0053]对于椭圆拟合,通过最小二乘法是在随机误差为正态分布时,由最大似然法推出 的一个最优估计技术,使测量误差的平方和最小,是在从一组测量值中求出一组未知量的 最可信赖的方法之一;最小二乘技术主要是寻找参数集合,从而最小化数据点与椭圆之间 的距离度量,这里的距离度量常见的有几何距离和代数距离;几何距离表示某点到曲线最 近点的距离,平面内某点( XQ,yQ)到方程f(x,y)=0所代表曲线的代数距离就是f(XQ,yQ) = 〇,以下是以代数距离作为距离度量介绍最小二乘法;
[0054] S4-2-3,如椭圆方程如式Ax2+Bxy+Cy2+Dx+Ey+F = 0所示,为了避免零解,并将解的 任何整数倍都视为对同一椭圆的表述,对参数做一些限制,约束条件设为A+C=l;显然,直 接应用上述方程对边缘检测后的离散点进行最小二乘处理,就可以得到方程中的各系数,
[0055] 的最小值来确定各系数,欲使f (A,B,C,D,E,F)值为最小,根据欧拉拉格朗日方程,
由此得到一个线性方程组,然后应用求解线性方程 组的算法,比如高斯消去法,结合约束条件,就可以求得方程系数六,8,(:,0^^的值;其实质 是根据欧拉拉格朗日方程反求系数A,B,C,D,E,F。
[0056] 综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0057] 设计一种可识别并计算出高危地区各种仪表精确示数的系统,根据仪表的不同类 型设计相应的算法,将研究成果植入芯片作为传感器装入智能机器人中使用,智能机器人 沿着设定好的地图磁道对特定点的仪表通过摄像头或热成像得到算法要处理的图像数据, 然后根据算法的处理直接得到示数传到指挥中心,指挥中心根据数据可以观察到仪表是否 正常工作,在很大程度上解放了劳动力,也提高了工作效率。
[0058] Hough变换法的优点是在指针边界有噪声影响或者有其他目标遮盖而引起的指针 图像发生不连续情况下,仍然有较好的容错性和鲁棒性。解决方法就是运用细化算法去减 少运算时间,以达到快速检测的目的。
[0059] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0060] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得 明显和容易理解,其中:
[0061] 图1是本发明总体流程图;
[0062] 图2是本发明夹角示意图;
[0063]图3是本发明识别示意图;
[0064]图4是本发明识别示意图;
[0065]图5是本发明识别示意图;
[0066]图6是本发明识别示意图;
[0067]图7-10是本发明实施例不意图。
【具体实施方式】
[0068]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0069]在本发明的描述中,需要理解的是,术语"纵向"、"横向"、"上"、"下"、"前"、"后"、 "左"、"右"、"竖直"、"水平"、"顶"、"底" "内"、"外"等指示的方位或位置关系为基于附图所 示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装 置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限 制。
[0070]在本发明的描述中,除非另有规定和限定,需要说明的是,术语"安装"、"相连"、 "连接"应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可 以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据 具体情况理解上述术语的具体含义。
[0071] 通过算法步骤:
[0072]第一步:图片预处理,使用自适应二值化。
[0073] 这里不采用MATLAB自带的graythresh和边缘检测,而使用自适应二值化。
[0074]因为graythresh效果不好,况且本身就包含二值化,属于全局二值化,全局二值化 在表现图像细节方面存在很大缺陷。
[0075]而自适应二值化属于局部二值化,弥补了全局二值化的缺陷。局部二值化按照一 定的规则将整幅图像划分为N个窗口,对这N个窗口中的每一个窗口再按照一个统一的阈值 T将该窗口内的像素划分为两部分,进行二值化处理。局部二值化也有一个缺陷,这个缺陷 存在于统一阈值的选定。这个阈值是没有经过合理的运算得来,一般是取该窗口的平均值, 这导致了在每一个窗口仍然出现全局二值化的缺陷,为了解决这个问题,出现了局部自适 应二值化方法。局部自适应二值化,该方法就是在局部二值化的基础之上,将阈值的设定更 加合理化。该方法的阈值是通过对该窗口像素的平均值E,像素之间的差平方P,像素之间的 均方根值Q等各种局部特征,设定一个参数方程进行阈值的计算。这样得出来的二值化图像 就更能表现出二值化图像中的细节。
[0076]第二步:通过设定输入的参数,使用MATLAB自带的函数找到圆表盘。
[0077]由于仪表图像中只有表盘是圆形,因此使用imfindcircles函数,通过设定最小半 径和最大半径得到区域中的圆,并标记其圆心和半径。
[0078] 第三步:在上一步的基础上截取目标区域圆,将区域外的部分设置为黑。
[0079] 利用上一步得到的圆心和半径,保留圆内部,将圆外部像素设置为0.
[0080] 第四步:检测指针。用hough直线检测出最长的直线即为指针。
[0081 ] 指针的提取可以根据hough变换中的houghline函数得到,Hough变换的基本思想 是点线的对偶性。一方面,图像空间中共线的点对应在参数空间里相交的线;另一方面,在 参数空间中相交于同一个点的所有直线在图像空间里都有共线的点与之对应。因此hough 变换把在图像空间中的直线检测问题转换到参数空间中点的检测问题,通过在参数空间里 进行简单的累加统计完成检测任务。
[0082] 如果参数空间中使用直线方程,当图像空间直线斜率为无穷大时,会使累加器尺 寸和变很大,从而使计算复杂度过大。为解决这一问题,采用直线极坐标方程,变换方程如 下所示:
[0083] 通过参数空间进行累加统计,采用直线极坐标方程,变换方程如下所示:
[0084] p = xcos9+ysin9,
[0085] 原始图像数据中的点对应新参数空间中的一条正弦曲线,即点-正弦曲线对偶;检 测直线的具体过程就是让Θ取遍的值,然后计算P的值,再根据Θ和p的值对累加数组累加,从 而得到共线点的个数;
[0086] 对于Θ和p取值范围的确定,设被检测的直线在第一象限,右上角坐标为(m,n);根 据这个方程,原图像空间中的点对应新参数空间中的一条正弦曲线,即点-正弦曲线对偶。 检测直线的具体过程就是让Θ取遍可能的值,然后计算P的值,再根据Θ和p的值对累加数组 累加,从而得到共线点的个数。则第一象限中直线的位置情况如图2所示,
[0087] 如图3-6所示,左边起始线和右边终止线均与水平线有一定夹角,分别设为alpha2 和alpha3;假设alphal为指针与其所指方向的水平线之间的夹角,theta为左边起始线到指 针方向的夹角;根据a 1 pha 1的正负,将计算theta的情况分为以下四种:
[0088] 第一种情况:假设&1卩11&1为负,则1:116七& = &1卩11&2-&1卩11&1;
[0089] 第二种情况:假设alphal为正,则theta = alpha2+180。-alphal;
[0090] 第三种情况:假设&]^1^1为正,贝1|1:116七3 = 3]^1^2-3]^11&1;
[0091 ]第四种情况:假设alphal为负,则theta =
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1