1.一种基于指针仪表的数据读取方法,其特征在于,应用于基于指针仪表的数据读取系统,所述系统包括硬件图像采集模块、移动终端图像识别模块、数据显示模块以及分别连接所述硬件图像采集模块与所述移动终端图像识别模块的软件数据处理算法模块;所述硬件图像采集模块包括摄像头,所述摄像头设于所述指针仪表上方用于采集仪表的初始图像以构成视频流,所述移动终端图像识别模块用于获取来自硬件图像采集模块采集的视频流,并通过所述软件数据处理算法模块进行数据处理以输出当前指针角度的对应刻度,并通过所述数据显示模块显示;
所述数据读取方法具体应用于所述软件数据处理算法模块,所述方法包括:获取指针仪表的初始图像,根据所述初始图像获取标定数据,所述标定数据包括指针中心位置以及仪表量程,并根据所述标定数据获取该指针仪表图像的角度与刻度线关系模板;
获取仪表指针样本,对所述指针样本的转动过程进行跟踪并根据跟踪结果获得目标图像,所述跟踪结果包括指针位置与时间对应的若干帧图像,对所述目标图像进行图像预处理以获得指针特征信息,所述指针特征信息包括指针像素点坐标参数以及指针轮廓,根据指针像素点坐标参数获得指针坐标点集并对指针坐标点集进行直线拟合以获得指针直线,所述指针直线与指针轮廓共线,所述指针直线与仪表量程的刻度线相交;
对仪表图像表盘区块进行分割,以查找指针轮廓,对指针轮廓进行细粒度提取和线条检测以获得指针骨架,采用边缘检测算法检测所述指针骨架与仪表量程刻度线的交点,将指针中心点与所述交点拟合成指针直线,通过尺度变换和角度法获取拟合指针直线的梯度信息,并映射至角度与刻度关系模板得到当前指针角度的对应刻度,实现仪表数据自动读取;
其中,对所述指针样本的转动过程进行跟踪并根据跟踪结果获得目标图像的步骤包括:分别获取第t帧图像以及第t+k帧图像,所述第t帧图像为时间t对应指针位置qt的图像,所述第t+k帧图像为时间t+k对应指针位置qt+k的图像;
根据所述第t帧图像对指针沿仪表量程进行正向追踪以产生指针实际轨迹,根据所述第t+k帧图像对指针沿仪表量程进行反向追踪以产生指针验证轨迹,根据实际轨迹与验证轨迹获得追踪器t时间的正反向误差,结合所述正反向误差及归一化互相关验证过滤最差预测点以获得剩余点;
根据剩余点的坐标及距离变化获得第t+1帧图像中目标边界框的位置和大小,根据目标边界框的位置和大小获得目标图像;
其中,正反向误差的计算公式为:
;
;
k
其中,FB为正反向误差;S=(It, It+1,…, It+k)为一图像序列;Tf =(qt,qt+1,…,qt+k)为前向k步跟踪轨迹序列; 为反向k步跟踪轨迹序列;
其中,将指针中心点与所述交点拟合成指针直线,通过尺度变换和角度法获取拟合指针直线的梯度信息,并映射至角度与刻度关系模板得到当前指针角度的对应刻度的步骤包括:当前指针角度的计算公式为:
;
其中,(XP,YP)为最远距离点坐标,即针头坐标;(Xmid,Ymid)为仪表中心点坐标,即指针中心位置坐标;θt为当前指针角度;
其中,角度与刻度 关系模板的函数 表达式为:
;
其中,R表示仪表量程,即Min_value与Max_value之差;
刻度 为最终读数结果,Min_value为最小量程;Max_value为最大量程;
;
;
θmin为最小量程坐标点与指针中心位置坐标点连线水平夹角;
θmax为最大量程坐标点与指针中心位置坐标点连线水平夹角;
(Xmin,Ymin)为最小量程坐标点;(Xmax,Ymax)为最大量程坐标点。
2.根据权利要求1所述的基于指针仪表的数据读取方法,其特征在于,获取指针仪表的初始图像,根据所述初始图像获取标定数据的步骤包括:获取原始图像,并根据所述原始图像的边界构建原始坐标系,所述原始图像包括指针仪表图像以及外界图像;
根据所述指针仪表图像构建得到仪表内接正方形,所述指针仪表图像的边界圆为所述仪表内接正方形的外接圆,根据所述原始坐标系分别获得仪表内接正方形的左上角坐标以及右下角坐标;
根据所述左上角坐标以及所述右下角坐标裁剪所述原始图像以切除外界图像而得到指针仪表的初始图像,所述初始图像的裁切边界与仪表图像的边界圆相切,并根据所述裁切边界建立仪表坐标系。
3.根据权利要求2所述的基于指针仪表的数据读取方法,其特征在于,根据所述裁切边界建立仪表坐标系的步骤之后还包括:根据仪表坐标系对指针仪表进行数据标注以获取标注数据,根据所述标注数据获取角度与刻度关系模板,所述标注数据包括指针中心位置坐标点、最小量程坐标点以及最大量程坐标点,根据所述最小量程坐标点以及所述最大量程坐标点确定仪表量程。
4.根据权利要求1所述的基于指针仪表的数据读取方法,其特征在于,对指针轮廓进行细粒度提取和直线检测以获得指针骨架,检测所述指针骨架以获得针头的步骤包括:对指针轮廓进行细粒度提取和直线检测以获得指针骨架,
采用边缘检测算法检测指针骨架与仪表量程刻度线的交点,遍历指针骨架所有像素点距离指针中心坐标点的欧式距离以提取最远距离点,所述最远距离点为指针针头坐标;
其中,最远距离点的数学计算公式为:
;
其中,(XP,YP)为最远距离点坐标,即针头坐标;(xi,yi)表示指针骨架的像素点,D为指针骨架像素点集;
(Xmid,Ymid)为指针中心点坐标,用以求得最大欧氏距离的指针针头坐标,其中,Xmid表示指针中心点横坐标,Ymid表示指针中心点纵坐标。