1.一种基于曲线分段的汽车方向盘检测方法,其特征在于包括如下步骤:步骤1:对含有车辆的彩色图像image进行车窗定位;
步骤2:从图像image中截取车窗右半部分作为新的图像WinImg,并且对图像WinImg进行灰度化、高斯滤波、形态学边缘检测、局部二值化以及边缘细化操作,得到图像WinImg的单像素边缘图像,记为EdgeImg;
步骤3:把EdgeImg中单像素边缘的交叉点去除,得到无交叉点的单像素边缘图,记为EdgeImg1;
步骤4:在EdgeImg1中将长度小于Len的单像素边缘去除,得到新的单像素边缘图记为EdgeImg2,其中Len表示单像素边缘的长度阈值,由预先设定;
步骤5:利用八邻域边缘跟踪算法遍历EdgeImg2中的每一条单像素边缘,并且将每一条单像素边缘上的像素点分别按顺序存储在数组中,记为Arrayi,i=1,2,…,n,其中,Arrayi表示第i条单像素边缘,n表示EdgeImg2中单像素边缘的数量;
步骤6:针对步骤5遍历得到的每一条单像素边缘上的每一个像素点计算其对应的曲线偏转角度,记为θij,表示第i条单像素边缘在第j个像素点的曲线偏转角度,其中第i条单像素边缘上的第j个像素点对应的曲线偏转角度θij的计算如下:
6.1):当j<4时,从Arrayi中取出三个元素,Arrayi[j],Arrayi[0]和Arrayi[j+4],令这三个点分别为A,B和C;
6.2):当j>counti‑5时,从Arrayi中取出三个元素,Arrayi[j],Arrayi[j‑4]和Arrayi[counti‑1],令这三个点分别为A,B和C;
6.3):当j≥4&&j≤counti‑5时,从Arrayi中取出三个元素,Arrayi[j],Arrayi[j‑4]和Arrayi[j+4],令这三个点分别为A,B和C;
6.4):计算向量 和向量 的夹角即为第i条单像素边缘上的第j个像素点对应的曲线偏转角度θij值;
其中,counti表示数组Arrayi中总的元素个数;
步骤7:根据步骤6计算得到的θij,在所有θij大于Theta的像素点处对第i条单像素边缘进行分段,其中,Theta为预先设定的曲线偏转角度阈值;并且将数组Arrayi中的所有像素点在第j‑1个像素点的位置断开,分为几个小数组,分别记为数组Arrayim,表示第i条单像素边缘的第m个分段;
步骤8:计算步骤7得到的每一条单像素边缘的每一个分段各自对应的一个新的平面直角坐标系,记为xOyim,xOyim由边缘图EdgeImg2的原平面直角坐标系通过平移旋转变换得到,其中,边缘图EdgeImg2的原平面直角坐标系表示以边缘图EdgeImg2的左上角为坐标系原点,水平向右为x轴正方向,垂直向下为y轴正方向的平面直角坐标系,其中由边缘图EdgeImg2的原平面直角坐标系通过平移旋转变换分别得到每一条单像素边缘的每一个分段各自对应的一个新的平面直角坐标系xOyim的过程如下:
8.1):根据公式(1)计算边缘图EdgeImg2的原平面直角坐标系在x轴方向上需要平移的长度记为Δxim,并且根据Δxim的值进行平移;
其中,countim表示数组Arrayim中的元素个数,Arrayim[0].x表示数组Arrayim中第0个元素的x坐标值,Arrayim[countim‑1].x表示数组Arrayim中最后一个元素的x坐标值;
8.2):根据公式(2)计算边缘图EdgeImg2的原平面直角坐标系在y轴方向上需要平移的长度记为Δyim,并且根据Δyim的值进行平移;
其中,Arrayim[0].y表示数组Arrayim中第0个元素的y坐标值,Arrayim[countim‑1].y表示数组Arrayim中最后一个元素的y坐标值;
8.3):根据公式(3)计算边缘图EdgeImg2的原平面直角坐标系在平移之后需要旋转的度数记为Δθim,并且根据Δθim的值进行旋转;
其中,arctan表示求反正切值;
步骤9:将步骤7得到的每一条单像素边缘的每一个分段等间隔分为6段,然后按顺序选取单像素边缘分段上的起点、五个等间隔分段点以及单像素边缘分段上的终点,一共七个点,记为Pointimk,k=1,2,3,4,5,6,7,它表示第i条单像素边缘的第m个分段上选取的第k个点;并且计算Pointimk,k=1,2,3,4,5,6,7,在第i条单像素边缘的第m个分段对应的新的平面直角坐标系xOyim中的纵坐标值,记为yimk;
步骤10:根据步骤9得到的yimk筛选满足开口朝下的劣弧检测条件的所有单像素边缘分段作为候选汽车方向盘边缘;
步骤11:对步骤10获得的所有候选汽车方向盘边缘分别计算其对应的一个假定圆,假定圆的计算首先从对应的候选汽车方向盘边缘中选取边缘的起点、边缘的二等分分段点以及边缘的终点这三个点,根据这三点确定一个假定圆;
步骤12:从步骤11获得的所有假定圆中选择满足如下条件的圆作为最终检测到的方向盘,具体满足条件为:圆半径r在预先设定的范围内,并且满足圆心到边缘图EdgeImg2的底边缘距离最短,并且这个距离需要小于该圆本身半径的三分之二。
2.根据权利要求1所述的一种基于曲线分段的汽车方向盘检测方法,其特征在于步骤3中判断EdgeImg图像中的像素点为单像素边缘的交叉点的步骤如下:
3.1):遍历EdgeImg中的像素点,找到每一个在单像素边缘上的像素点p并且计算其八邻域中存在的在边缘上的像素点的个数,记为count,在本发明中八邻域像素点的标记如下:将像素点p右边的像素点标记为p0,从p0开始按逆时针方向将另外7个邻域像素点分别标记为p1,p2,p3,p4,p5,p6,p7;
3.2):若八邻域中p0位置为边缘上的像素点,并且p1或者p7位置也是边缘上的像素点,则将count值减1;
3.3):若八邻域中p2位置为边缘上的像素点,并且p1或者p3位置也是边缘上的像素点,则将count值减1;
3.4):若八邻域中p4位置为边缘上的像素点,并且p3或者p5位置也是边缘上的像素点,则将count值减1;
3.5):若八邻域中p6位置为边缘上的像素点,并且p5或者p7位置也是边缘上的像素点,则将count值减1;
3.6):若经过3.2)至3.5)的操作之后得到的count值大于等于3,则认为该像素点p为单像素边缘的交叉点。
3.根据权利要求1所述的一种基于曲线分段的汽车方向盘检测方法,其特征在于步骤9中Pointimk在i条单像素边缘的第m个分段对应的新的平面直角坐标系xOyim中的纵坐标值yimk的计算将根据公式(4)计算:
yimk=(Yimk‑Δyim)×cos(‑Δθim)+(Ximk‑Δxim)×sin(‑Δθim) (4)其中,Ximk表示点Pointimk在边缘图EdgeImg2的原平面直角坐标系中的横坐标值,k=1,
2,3,4,5,6,7,Yimk表示点Pointimk在边缘图EdgeImg2的原平面直角坐标系中的纵坐标值,cos表示求余弦值,sin表示求正弦值。
4.根据权利要求1所述的一种基于曲线分段的汽车方向盘检测方法,其特征在于步骤
10中满足开口朝下的劣弧检测条件必须满足如下所有条件:
10.1):(|Δθim|<90&&yim4<0)||(|Δθim|≥90&&yim4>0);
10.2):yim1≤yim2&&yim2≤yim3&&yim3≤yim4&&yim1
10.3):yim7≤yim6&&yim6≤yim5&&yim5≤yim4&&yim7
10.4):|yim3–yim5|+|yim2–yim6|<2。