本发明属于汽车近光灯光学检测,尤其涉及一种基于凸包的汽车灯光近光光型特征点检测方法和系统。
背景技术:
1、汽车前照灯是汽车安全行驶的重要保障,汽车近光灯的检测中近光灯光型图像检测占据重要位置,其中特征点的检测更是十分重要。然而,目前常用的近光光型特征点检测方法不论是在操作性、实用性,还是在检测效率和检测结果的精准性方面,都存在明显不足,无法满足当前汽车流水线生产的实际需求。
2、对于近光光型的特征点检测,经过多年的研究,研究者们取得了一定的成果。例如采用最大等级计算法和光电池法相结合检测前照近光灯的配光性能,探讨了明暗截止线的清晰度及特征点确定中的一些问题,但由于实际物理设备的影响,近光明暗截止线及特征点具有一定的模糊性,很难直接求取准确位置;针对明暗截止线模糊的光型图像,采用高斯拉普拉斯算子对图像进行边缘检测,将多次检测到的边缘进行叠加,重叠次数最多点即为特征点位置,显然这种方法在特征点提取的精度上有待提高;改进的canny算子对光轴角进行提取以canny算法为基础,灰度重心作为光斑中心,最后使用tukey加权函数的线性拟合法,用于提取特征点信息,但由于相机光圈过曝、像素失真等问题的存在,特征点检测仍存在着较大误差。
技术实现思路
1、本发明针对现有技术中的不足,提供一种基于凸包的汽车灯光近光光型特征点检测方法和系统。
2、第一方面,本发明提供一种基于凸包的汽车灯光近光光型特征点检测方法,包括:
3、获取近光光型的初始图像;
4、对初始图像进行平滑滤波处理,得到第一图像;
5、对第一图像进行开运算处理,得到第二图像;
6、对第二图像进行二值化处理,得到第三图像;
7、利用canny算子对第三图像进行处理,得到近光光型的第一轮廓点集;
8、将第一轮廓点集及第一轮廓点集相邻点的连线绘制在第一全0图像中;其中,第一轮廓点集及第一轮廓点集相邻点的连线在第一全0图像中经过的点作为第二轮廓点集;
9、利用凸包算法对第一轮廓点集进行处理,得到近光光型轮廓的第一凸包点集;
10、将第一凸包点集及第一凸包点集相邻点的连线绘制在第二全0图像中;其中,第一凸包点集及第一凸包点集相邻点的连线在第二全0图像中经过的点作为第二凸包点集;
11、在第一全0图像中从左至右逐列,且从上至下逐点进行像素值与预设像素值阈值的比对;在一列像素点中第一目标点的像素值等于第一预设像素阈值的情况下,确定第一目标点满足比对条件并进行下一列像素点的像素值比对;其中,第一全0图像的一列像素点中第一目标点的像素值等于第一预设像素阈值作为第一比对条件,每列像素点最多一个点满足第一比对条件,所有满足第一比对条件的像素点作为第一点列;
12、在第二全0图像中从左至右逐列,且从上至下逐点进行像素值与预设像素值阈值的比对;在一列像素点中第二目标点的像素值等于第二预设像素阈值的情况下,确定第二目标点满足比对条件并进行下一列像素点的像素值比对;其中,第二全0图像的一列像素点中第二目标点的像素值等于第二预设像素阈值作为第二比对条件,每列像素点最多一个点满足第二比对条件,所有满足第二比对条件的像素点作为第二点列;
13、对第一点列和第二点列中对应点的纵坐标进行求差运算,得到差值数列;
14、根据差值数列的每项数值确定第一数列的每项数值;
15、将第一数列中每项数值与预设项阈值 v进行比对;将第一点列中 q1+ ε1个点作为汽车灯光近光光型的第一角点;将第一点列中 q2+ p - ε1个点作为汽车灯光近光光型的第二角点;将第一点列中 q3+ ε2个点作为汽车灯光近光光型的特征点;将第一点列中 q4+ p - ε2个点作为汽车灯光近光光型的第三角点;其中, q1为第一数列中第一个满足项值大于预设项阈值 v的项的序号; ε1为第一补偿值; q2为第一数列中最后一个满足项值大于预设项阈值 v的项的序号; ε2为第二补偿值; p为预设项间距; q3为第一数列中第一个满足项值小于- v的项的序号; q4为第一数列中最后一个满足项值小于- v的项的序号;1≤ ε1 ≤ p;1≤ ε2 ≤ p。
16、进一步地,所述对第一点列和第二点列中对应点的纵坐标进行求差运算,得到差值数列,包括:
17、根据以下公式计算差值数列每项的值:
18、;
19、其中, d 1 n为差值数列的第 n项的值;为第一点列中第 n个点的纵坐标值;为第二点列中第 n个点的纵坐标值; n=1,2,…, s; s为第一点列或第二点列的长度。
20、进一步地,所述根据差值数列的每项数值确定第一数列的每项数值,包括:
21、根据以下公式计算第一数列的每项数值:
22、 d 2 m= d 1 m+ p- d 1 m;
23、其中, d 2 m为第一数列的第 m项的值; d 1 m+ p为差值数列的第 m+ p项的值; d 1 m为差值数列的第 m项的值; p为预设项间距; m=1,2,…, s - p。
24、进一步地,所述将第一轮廓点集及第一轮廓点集相邻点的连线绘制在第一全0图像中,包括:
25、根据以下公式计算第一全0图像每个像素点的像素值:
26、;
27、其中, p i j为第二轮廓点集中坐标为( i, j )的点;为第一全0图像中像素点 p ij的像素值; v 1为第二轮廓点集中每个点的像素值。
28、进一步地,所述将第一凸包点集及第一凸包点集相邻点的连线绘制在第二全0图像中,包括:
29、根据以下公式计算第二全0图像每个像素点的像素值:
30、;
31、其中, p i'j' 为第二凸包点集中坐标为( i', j' )的点;为第二全0图像中像素点 p i'j' 的像素值; v 2为第二凸包点集中每个点的像素值。
32、第二方面,本发明提供一种基于凸包的汽车灯光近光光型特征点检测系统,包括:
33、图像获取模块,用于获取近光光型的初始图像;
34、第一图像处理模块,用于对初始图像进行平滑滤波处理,得到第一图像;
35、第二图像处理模块,用于对第一图像进行开运算处理,得到第二图像;
36、第三图像处理模块,用于对第二图像进行二值化处理,得到第三图像;
37、第四图像处理模块,用于利用canny算子对第三图像进行处理,得到近光光型的第一轮廓点集;
38、第一绘制模块,用于将第一轮廓点集及第一轮廓点集相邻点的连线绘制在第一全0图像中;其中,第一轮廓点集及第一轮廓点集相邻点的连线在第一全0图像中经过的点作为第二轮廓点集;
39、轮廓点集处理模块,用于利用凸包算法对第一轮廓点集进行处理,得到近光光型轮廓的第一凸包点集;
40、第二绘制模块,用于将第一凸包点集及第一凸包点集相邻点的连线绘制在第二全0图像中;其中,第一凸包点集及第一凸包点集相邻点的连线在第二全0图像中经过的点作为第二凸包点集;
41、第一像素值比对模块,用于在第一全0图像中从左至右逐列,且从上至下逐点进行像素值与预设像素值阈值的比对;在一列像素点中第一目标点的像素值等于第一预设像素阈值的情况下,确定第一目标点满足比对条件并进行下一列像素点的像素值比对;其中,第一全0图像的一列像素点中第一目标点的像素值等于第一预设像素阈值作为第一比对条件,每列像素点最多一个点满足第一比对条件,所有满足第一比对条件的像素点作为第一点列;
42、第二像素值比对模块,在第二全0图像中从左至右逐列,且从上至下逐点进行像素值与预设像素值阈值的比对;在一列像素点中第二目标点的像素值等于第二预设像素阈值的情况下,确定第二目标点满足比对条件并进行下一列像素点的像素值比对;其中,第二全0图像的一列像素点中第二目标点的像素值等于第二预设像素阈值作为第二比对条件,每列像素点最多一个点满足第二比对条件,所有满足第二比对条件的像素点作为第二点列;
43、求差模块,用于对第一点列和第二点列中对应点的纵坐标进行求差运算,得到差值数列;
44、确定模块,用于根据差值数列的每项数值确定第一数列的每项数值;
45、特征点检测模块,用于将第一数列中每项数值与预设项阈值 v进行比对;将第一点列中 q1+ ε1个点作为汽车灯光近光光型的第一角点;将第一点列中 q2+ p - ε1个点作为汽车灯光近光光型的第二角点;将第一点列中 q3+ ε2个点作为汽车灯光近光光型的特征点;将第一点列中 q4+ p - ε2个点作为汽车灯光近光光型的第三角点;其中, q1为第一数列中第一个满足项值大于预设项阈值 v的项的序号; ε1为第一补偿值; q2为第一数列中最后一个满足项值大于预设项阈值 v的项的序号; ε2为第二补偿值; p为预设项间距; q3为第一数列中第一个满足项值小于- v的项的序号; q4为第一数列中最后一个满足项值小于- v的项的序号;1≤ ε1 ≤ p;1≤ ε2 ≤ p。
46、进一步地,所述求差模块包括:
47、第一计算单元,用于根据以下公式计算差值数列每项的值:
48、;
49、其中, d 1 n为差值数列的第 n项的值;为第一点列中第 n个点的纵坐标值;为第二点列中第 n个点的纵坐标值; n=1,2,…, s; s为第一点列或第二点列的长度。
50、进一步地,所述确定模块包括:
51、第二计算单元,用于根据以下公式计算第一数列的每项数值:
52、 d 2 m= d 1 m+ p- d 1 m;
53、其中, d 2 m为第一数列的第 m项的值; d 1 m+ p为差值数列的第 m+ p项的值; d 1 m为差值数列的第 m项的值; p为预设项间距; m=1,2,…, s - p。
54、进一步地,所述第一绘制模块包括:
55、第三计算单元,用于根据以下公式计算第一全0图像每个像素点的像素值:
56、;
57、其中, p i j为第二轮廓点集中坐标为( i, j )的点;为第一全0图像中像素点 p ij的像素值; v 1为第二轮廓点集中每个点的像素值。
58、进一步地,所述第二绘制模块包括:
59、第四计算单元,用于根据以下公式计算第二全0图像每个像素点的像素值:
60、;
61、其中, p i'j'为第二凸包点集中坐标为( i', j' )的点;为第二全0图像中像素点 p i'j' 的像素值; v 2为第二凸包点集中每个点的像素值。
62、本发明提供一种基于凸包的汽车灯光近光光型特征点检测方法和系统,其中方法包括对初始图像平滑滤波处理,得到第一图像;对第一图像进行开运算,得到第二图像;对第二图像进行二值化处理,得到第三图像;利用canny算子对第三图像进行处理,得到近光光型的第一轮廓点集;将第一轮廓点集及其相邻点的连线绘制在第一全0图像中;利用凸包算法对第一轮廓点集进行处理,得到近光光型轮廓的第一凸包点集;将第一凸包点集及其相邻点的连线绘制在第二全0图像中;对第一全0图像逐列逐点进行像素值比对,得到第一点列;对第二全0图像逐列逐点进行像素值比对,得到第二点列;对第一点列和第二点列中对应点的纵坐标进行求差运算,得到差值数列;对差值数列及其各项求解得到第一数列;将第一数列每项数值与预设项阈值比对,即可检测得到近光光型的角点和特征点。本发明具有旋转不变性、尺度不变性和抗噪性,且运行速度较快。