1.一种基于手机拍摄图像的轿车故障指示灯识别方法,其特征在于,按照以下步骤实施:步骤1、拍摄汽车仪表盘的车标,车标识别的方法与故障指示灯识别方法类似,查找相应车型,程序自动加载该车型故障指示灯库;
步骤2、再次拍摄汽车仪表盘,程序识别汽车故障指示灯,识别过程是:对待检测故障指示灯的图像进行颜色区分,同一颜色分类的故障指示灯与待检测故障指示灯的图像进行二值化,计算七个图像不变矩,再使用巴氏系数算法对这七个不变矩组成的向量计算,最终得出图像的相似度值,其值范围在[0,1]之间,0表示极其不同,1表示极其相似或相同;
步骤3、逐一遍历同一颜色分类故障指示灯库的所有图像,以得到待检测故障指示灯与故障指示灯库的相似度;最后,使得相似度最高的前几个故障指示灯故障信息显示在结果页面上。
2.根据权利要求1所述的基于手机拍摄图像的轿车故障指示灯识别方法,其特征在于:所述的步骤2中,识别过程的具体步骤是:
2.1)区分待检测故障指示灯的颜色,目前汽车故障指示灯颜色由黄色、红色、蓝色、绿色、白色组成,为了便于区分颜色,首先将采集到的图像进行二值化,确定指示灯区域,然后将图像由RGB颜色空间转为HSV颜色空间,当采集图像的前景区域的像素点满足S<=1/2,V>=9/10且像素点比例很高时,则视为指示灯为白色,否则,进行其他颜色的判断;当前景区域中H<=1/20或H>=19/20的像素点比例很高则视为红色;当前景区域中H<1/6+1/20,H>1/
6-1/20的像素点比例很高则视为黄色;当前景区域中H<1/3+1/20,H>=1/3-1/20的像素点比例很高则视为绿色;当前景区域中H<2/3+1/20,H>=2/3-1/20的像素点比例很高则视为蓝色,根据以上的阈值范围确定故障指示灯的颜色;
2.2)图像的二值化,拍照所得图片共有n个像素,其中灰度值小于阈值的像素为n1个,大于等于阈值的像素为n2个,即n1+n2=n,w1和w2分别表示这两种像素各自的比重:w1=n1/n (1)
w2=n2/n (2)
将所有灰度值小于阈值的像素的平均值和方差分别记为μ1和σ1,将所有灰度值大于等于阈值的像素的平均值和方差分别记为μ2和σ2,则有:
采用遍历的方法,将阈值从灰度的最低值到最高值,依次取一遍,分别代入上面的算式,使得"类内差异最小"或"类间差异最大"的那个值,就是最终的阈值;
2.3)计算故障指示灯库与待检测指示灯图像的七个图像不变矩,对于数字图像,f(x,y)的(p+q)阶普通矩和中心矩的公式如下:
其中,p=0,1,2,...,q=0,1,2,...,
归一化中心矩定义:
其中,r=(p+q)/2+1
七个图像不变矩为:
采用如下的巴氏计算公式:
其中,(p,p′)分别代表相应车型故障指示灯库和待检测故障指示灯的图像不变矩向量,对于每个图像不变矩乘积开平方以后相加得出的结果,即为图像的相似度,数值范围在
0-1之间。
3.根据权利要求1所述的基于手机拍摄图像的轿车故障指示灯识别方法,其特征在于:该方法依赖的识别系统基于android系统,其采用的app分为三个部分,包括打开程序时的查询页面、程序识别后的结果页面、以及出现相应故障指示灯的手册页面,打开程序时的查询页面,在手机(1)的显示屏(2)中间有扫描框(3),显示屏(2)下排设置有分享按钮(4)、扫描(5)、相册按钮(6),采用固定大小的扫描框(3)来扫描待检测的故障指示灯,按下扫描(5),保证采集到的图片与故障指示灯库的图片在尺寸上基本保持大小一致,同时过滤掉拍摄过程中不相关内容;
程序识别后得到的结果页面用于展示查询结果,左排为故障指示灯手册按钮(9),右排对应为故障指示灯相似度(7),故障指示灯相似度(7)的角标位置设置有语音提示按钮(8),程序识别后根据故障相似度依次从大到小显示结果,排在最前面的为相似度最大,相似度越大表示最可能的故障类型;
基于识别后相应故障指示灯的手册页面,其中设置有各种故障指示灯的对应故障分析及专家建议,为驾驶者提供了相应故障指示灯的解决方案,便于驾驶者决定如何处置该故障。