1.一种基于SIFT和HOUGH的指针型仪表示数读取方法,其特征在于,包括以下步骤:步骤1,指针型仪表盘粗定位
采用SIFT特征点匹配算法,找出标准仪表模板和实际拍摄图像之间的匹配特征点;
根据实际拍摄图像中匹配的特征点坐标,求出实际拍摄图像中与标准仪表模板匹配的所有特征点,求这些特征点的中心点p(xp,yp);以中心点p(xp,yp)为中心,按照一定的长宽比例,将这一部分的图片分割出来,完成仪表盘的粗定位,获得粗精确定位后的指针型仪表盘图像;
步骤2,指针型仪表盘精确定位
对粗精确定位后的指针型仪表盘图像进行HOUGH变换检测出仪表盘的各个圆形,通过SIFT所匹配得出的特征点对检测出来的圆进行一一判定,找出指针型仪表盘所在的圆形,以该圆的圆心为中点,以边长为该圆直径的正方形从粗精确定位后的指针型仪表盘图像中提取出精确定位的仪表盘图像;
步骤3,仪表图像中指针线斜率计算方法
在精确定位的仪表盘图像中,使用HOUGH变换,找出指针所在的直线的斜率;
通过设定一个累计单元的阈值,识别精确定位的仪表盘图像通过HOUGH变换所检测的直线数量,此时所识别出的直线数量为0;通过不断地降低阈值,识别精确定位的仪表盘图像通过HOUGH变换所检测的直线数量,直至直线数量为1-2根;当识别直线的数量为2时,检测两根直线斜率是否近似;若近似,则取两条直线斜率的平均值作为指针直线的斜率;
步骤4,指针型仪表图像中仪表盘旋转角度计算
计算标准仪表模板上的两两特征点之间直线的斜率,计算实际拍摄图像上的两两特征点之间直线的斜率,然后分别求实际拍摄图像上的各特征点与标准仪表模板上对应特征点之间斜率的角度,并将角度差距在一定范围内的角度的出现频率进行累计,求得出现频率最高的那个角度,即为实际拍摄图像相对于标准仪表模板的旋转角度;
步骤5,指针型仪表图像中仪表示数的自动读取
将步骤2得到的精确定位的仪表盘图像,以圆心为中心,沿横向和纵向分割为4个部分,记右上为第一区域(1),左上为第二区域(2),左下为第三区域(3),右下为第四区域(4),将第一、第二区域视作一部分,第三、第四区域视作一部分,分别在这两部分图像中重复之前寻找指针的操作,若在第三、第四区域部分找到指针线,并且指针线的斜率为正数,判定该指针必定在第三区域(3),反之,斜率为负数则指针线在第四区域(4);若在第一、第二区域部分找到指针线,并且指针线的斜率为正数,判定该指针必定在第一区域(1)内,反之,斜率为负数则指针线在第二区域(2);且判断指针所在区域时,在两部分图像中重复之前寻找指针的操作得出的直线斜率与步骤3得到的指针直线的斜率差别小于一定的阈值时,才判断指针在该区域;
将步骤3得到的指针直线的斜率与已知的标准仪表模板中最小刻度直线的斜率比较,计算出两者之间的角度差β;则指针直线相对于标准仪表模板最小刻度之间的角度θ为:根据指针直线相对于标准仪表模板最小刻度之间的角度θ,标准仪表模板的最小示数,标准仪表模板的最大示数,及最小示数与最大示数的夹角,即可求得实际拍摄图像的仪表的实际示数。
2.根据权利要求1所述基于SIFT和HOUGH的指针型仪表示数读取方法,其特征在于:所述中心点p(xp,yp)位置计算如下:其中,xk表示第k个匹配特征点的x坐标,yk表示第k个匹配特征点的y坐标,标准仪表模板与实际拍摄图像之间共有(n+1)个匹配特征点。
3.根据权利要求1所述基于SIFT和HOUGH的指针型仪表示数读取方法,其特征在于:所述步骤1中使用实际拍摄图像所有特征点中两点距离最长的距离L作为长度,以中心点p(xp,yp)作为分割图的中心点,边长为2L的正方形从实际拍摄图像中分割出来,得到粗精确定位后的指针型仪表盘图像。
4.根据权利要求2所述基于SIFT和HOUGH的指针型仪表示数读取方法,其特征在于:所述步骤2中通过SIFT所匹配得出的特征点对检测出来的圆进行一一判定的方法如下:依次计算各个特征点到每一个圆心的距离d0,d1,d2,d3…dn,通过与半径r对比,若距离d均小余半径r,且计算特征点中距离最远的两个点之间的距离为L,且L的距离须大于半径r,此时判定该圆是正确的圆形,否则判定失败,进行下一个圆的判定:判定公式为:
其中,(x,y)为特征点坐标,(x1,y1),(x2,y2),(x3,y3)…(xn,yn)表示SIFT所匹配得出的特征点,{((a0,b0),r0),((a1,b1),r1)((a2,b2),r2)((a3,b3),r3)…((am,bm),rm)}表示HOUGH变换检测仪表盘的圆形,m表示检测出的圆的个数,((ak,bk),rk)表示进行检测的圆,k=0,
1,2…m,从k=0开始检测,直至检测出符合条件的圆形,(a,b)为检测出的圆心坐标,r为检测出圆的半径;
同时检测出圆的半径r满足条件:
r≤max(arr)≤2*r (3)其中,arr表示各特征点之间的距离所组成的数组。
5.根据权利要求4所述基于SIFT和HOUGH的指针型仪表示数读取方法,其特征在于:所述步骤3中检测两根直线斜率是否近似的方法:通过比较两根直线斜率k1,k2是否满足以下公式:
0.85*|k1|<|k2|<1.15*|k1| (4)满足式(4)后,取两条直线的斜率的平均值 作为最终的指针斜率,k1、k2表示两条直线的斜率。
6.根据权利要求5所述基于SIFT和HOUGH的指针型仪表示数读取方法,其特征在于:所述步骤4中实际拍摄图像上的各特征点与标准仪表模板上对应特征点之间斜率的角度通过式(5)计算:其中,δ表示实际拍摄图像上的各特征点与标准仪表模板上对应特征点之间斜率的角度,ko表示实际拍摄图像上的两个特征点之间斜率,kp表示实际拍摄图像上的两个特征点与标准仪表模板上对应的两个特征点的斜率。