发明内容
本发明所要解决的技术问题,就是提出一种基于总体最小二乘的仪表图像中心点提取方法,本方法可以准确求取仪表图像的中心点,为指针式仪表自动读数/校准系统提供准确读数提供便利,此外,还具有实现简单、计算量小、提取结果精确、适用范围广的优点。
为解决上述技术问题,本发明采用如下技术方案:
一种基于总体最小二乘的仪表图像中心点提取方法,包括以下步骤:
Step1、读取仪表图像;
Step2、对仪表图像进行相关预处理,使之成为较为清晰的二值化仪表图像;
Step3、通过随机选取起始扫描行的方法在二值化仪表图像中的表盘轮廓线上提取若干点,并保存这些点的具体坐标值;
Step4、对Step3中提取的点坐标进行处理,去除其中不可靠的点坐标,保存余下的较可靠的点坐标;
Step5、对圆的基本方程进行参数变换,使之成为只与圆心坐标相关的线性方程;
Step6、将Step4中保存的点坐标作为Step5中线性方程的参数输入,建立一定规模的线性方程组;
Step7、利用总体最小二乘法对Step6中的线性方程组进行求解,得到仪表图像中心点。
所述的Step2中的图像预处理包括利用prewitt边缘检测法对仪表图像进行边缘化检测。
所述的Step3中提取的若干点来自于仪表图像的表盘轮廓,起始扫描点随机选取,其它点的选取则在起始扫描行的相邻各行。
所述的Step4中的对提取的点坐标的处理方法采用粗大误差的处理方法,将提取的点分为五个相邻点的矩阵坐标转换为以mm为单位的方位坐标,其坐标变化很小,可将其当作某一个点的坐标的测量结果,采用遵循适用于测量次数较小的罗曼诺夫斯基准则进行粗大误差处理,从而去除干扰点的影响。
所述的Step7中圆心坐标的提取使用的是总体最小二乘法,具体包括以下步骤:
S7-1、给定x初值 取定步长ha,hb;
S7-2、记ci T是C的第i行,di是D的第i个元素,计算
若γ<ε,则x=x0,求解过程结束;其中ε为设定的最大允许误差,否则进行S7-3;
S7-3、取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束;否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束;否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束;否则进行S7-4;
S7-4、取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束;否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束;否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束;j加1,循环进行S7-4,直到γ<ε;S7-5、结束。
与现有技术相比,本发明具有以下优点和积极效果:本发明方法可用于指针式仪表自动读数/校准系统,使用总体最小二乘方法,对以表盘轮廓线上的点坐标为参数的方程进行求解,准确求取表盘中心点,为系统的摄像头的自动对准与系统的准确读数提供便利,具有准确性高、计算量小、适用范围广等优点。
具体实施方式
下面将结合附图和具体实施对本发明方法作进一步说明。
本发明的针对指针式圆形表盘基于总体最小二乘的仪表图像中心点提取方法,将仪表图像表盘轮廓上提取的若干可靠点的坐标作为输入参数,通过参数变换的方法将圆的基本方程变为只与圆心坐标相关的线性方程,再通过总体最小二乘法对上述线性方程进行求解,从而准确获取表盘图像中心点。
具体包括以下步骤:
Step1、读取仪表图像;
Step2、对图像进行相关预处理,使之成为较为清晰的二值化图像;
预处理的过程如下:首先对图像进行灰度化处理,使图像由RGB彩色图像变为数据量较小的灰度图像;其次对图像进行按比较缩小,以去除一些孤立干扰点对提取结果的影响,同时,进一步减小中心点提取的计算量;最后,使用prewitt边缘检测法对仪表图像进行边缘化处理,使之成为清晰的二值化图像。
Step3、通过随机选取起始扫描行的方法在图像中的表盘轮廓线上提取若干点,并保存这些点的具体坐标值;
在轮廓线上提取点的过程如下:首先随机产生一个1到N之间的整数i(N为图像矩阵的最大行索引),从左到右扫描图像矩阵的第i行,找到第一个为1的元素,记录其坐标,再从右到左扫描该行,找到第一个为1的元素,记录其坐标;分别从左往右和从右往左扫描第i行上下相邻的十行,寻找第一个为1的元素并记录其坐标。若在第i行未找到为1的元素,则重新产生1到N之间的整数i,直到第i行中能扫描到为1的元素为止;若第i行的上十行中存在不含1元素的行,则从第i+15行开始重新扫描其上下相邻的十行;若第i行的下十行中存在不含1元素的行,则从第i-15行开始重新扫描其上下相邻的十行;此时,若还有扫描不到1元素的行,则将该行找到的点坐标记为(M,M)(M大于图像矩阵的最大行列索引)。
Step4、对Step3中提取的点坐标进行处理,去除其中不可靠的点坐标,保存余下的较可靠的点坐标;
对提取的点坐标的处理方法采用粗大误差的处理方法,将提取的点分为五个相邻点的矩阵坐标转换为以mm为单位的方位坐标,其坐标变化很小,可将其当作某一个点的坐标的测量结果,采用遵循适用于测量次数较小的罗曼诺夫斯基准则进行粗大误差处理。从而去除干扰点的影响。罗曼诺夫斯基准则的数学表达法如下:
设对某量作多次等精度测量,得x1,x2,…xn,若认为测量值xj是可疑数据,将其剔除后计算平均值(计算时不包括xj):
根据测量次数n和选取的显著度α,即由表下表查出t分布的检验系数K(n,α)。
若
则认为测量值xj含有粗大误差,剔除xj是正确的,否则认为xj不含粗大误差,应予以保留。
Step5、对圆的基本方程进行参数变换,使之成为只与圆心坐标相关的线性方程;
进行参数变换后,圆的方程变成如下线性方程
也即
其中,x1,x2,y1,y2为圆上的点的坐标,a,b为圆心坐标。
Step6、将Step4中保存的点坐标作为Step5中线性方程的参数输入,建立一定规模的线性方程组;
记得到的线性方程组为Cx=D。
其中,C=(2(x1-x2)2(y1-y2))m×2,
Step7、利用总体最小二乘法对Step6中的线性方程组进行求解,得到表盘图像中心点。具体包括以下步骤:
S7-1、给定x初值 取定步长ha,hb。
S7-2、记ci T是C的第i行,di是D的第i个元素,计算
若γ<ε,则x=x0,求解过程结束。其中ε为设定的最大允许误差。否则进行S7-3。
S7-3、取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束。否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束。否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束。否则进行S7-4。
S7-4、取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束。否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束。否则取 按S7-2中的公式求γ,若γ<ε,则x=x0,求解过程结束。j加1,循环进行S7-4。直到γ<ε。
S7-5、结束。
其流程如图2所示。