一种基于机载摄像机的高速公路车道线检测方法与流程

文档序号:13673774阅读:来源:国知局
技术特征:
1.一种基于机载摄像机的高速公路车道线检测方法,其特征在于按照以下步骤进行:步骤1:逐帧读取无人机上的摄像机拍摄的大小为M1×M2×3的三通道BGR彩色图像,并将当前读取的三通道BGR彩色图像记为S1,其中,M1,M2分别表示三通道BGR彩色图像S1的高度和宽度;步骤2:在三通道BGR彩色图像S1上截取一个左上角点坐标、高度为M3像素、宽度为M4像素的感兴趣区域ROI,得到大小为M3×M4×3的BGR彩色图像S2,感兴趣区域ROI的初始值设定如下:高度M3=M1,宽度M4=M2,左上角点坐标(x0,y0)=(0,0);步骤3:对BGR彩色图像S2进行降采样,获得大小为M5×M6×3的采样图像S3,M5=M3/scale,M6=M4/scale,降采样公式为x=x3·scale,x3=1,2,...,M5y=y3·scale,y3=1,2,...,M6dst3(x3,y3)=src2(x,y)]]>其中,dst3(x3,y3)为采样图像S3在第x3行、第y3列的像素点的像素值,src2(x,y)为BGR彩色图像S2在第x行、第y列的像素点的像素值,scale是图像降采样系数,初始值为1,之后根据感兴趣区域ROI的宽度与三通道BGR彩色图像S1的宽度比值进行调整,调整规则为步骤4:对采样图像S3进行二值化处理,得到一个二值图像S4,二值化处理过程为其中,x4=x3,y4=y3;dst4(x4,y4)为二值图像S4中的第x4行、第y4列的像素点的像素值;src_B(x3,y3),src_G(x3,y3),src_R(x3,y3)分别为采样图像S3的第x3行、第y3列的像素点在BGR颜色空间蓝色、绿色、红色分量的值;th1、th2、th3分别为蓝色、绿色、红色分量的阈值,th1、th2、th3都取为180;步骤5:获取车道线二值图像步骤5.1利用车道线的宽度信息按照如下步骤剔除二值图像S4的每一行中宽度大于给定阈值的连续白色点:步骤5.1.1从二值图像S4的第一行第一个像素点开始进行扫描,然后进入步骤5.1.2;步骤5.1.2如果当前扫描像素点为黑色点,则进入步骤5.1.6,如果当前扫描像素点为白色点,则进入步骤5.1.3;步骤5.1.3若当前扫描像素点为每行的第一个像素点或者当前扫描像素点的前一个像素点为黑色点,则用index_1记录当前扫描像素点所在列坐标,作为这段连续白色点的起始位置,然后进行步骤5.1.4,若当前扫描像素点的前一个像素点为白色点,则进入步骤5.1.4;步骤5.1.4若当前扫描像素点为每一行的最后一个像素点或者当前扫描像素点的下一个像素点为黑色点,则用index_2记录当前扫描像素点所在列坐标,作为这段连续白色点的结束位置,然后进行步骤5.1.5,若当前扫描像素点的后一个像素点为白色点,则进入步骤5.1.6;步骤5.1.5计算这段连续白色点个数n=(index_2-index_1)+1,连续白色点数的阈值thresh=3,如果n>thresh,将二值图像S4中当前扫描行的列坐标在index_1和index_2之间的像素点全部赋值为0,\t变为黑色点,然后进入步骤5.1.6;如果n≤thresh,则进入步骤5.1.6;步骤5.1.6若二值图像S4中所有的点都扫描结束,则进入步骤5.2,否则,继续扫描下一像素点并返回步骤5.1.2;步骤5.2检测步骤5.1处理过的二值图像S4的白色点形成的连通域,并且计算每个连通域中像素点的个数,将像素点的个数少于30的连通域去掉,得到车道线二值图像S5,车道线二值图像S5的行坐标表示为x5,列坐标表示为y5;步骤6:获取直线段参数检测车道线二值图像S5中的直线段,获取直线段参数集L1,其步骤如下:步骤6.1从车道线二值图像S5中收集所有白色点的一对行坐标和列坐标,得到一个坐标集C1,并创建一个总行数为181,总列数为2×(M5+M6)的参数空间矩阵D,参数空间矩阵D的所有元素的初值为0,然后进行步骤6.2;步骤6.2如果坐标集C1为空集,则得到一个直线段参数集L1,所述直线段参数集L1中的每条线段由两个端点坐标(xstart,i,ystart,i)、(xend,i,yend,i)共4个参数表示,每条线段的参数作为一组参数,则共有N1组,并结束步骤6,反之,则随机抽取C1中的一对行坐标xp和列坐标yp,并且从坐标集C1中去除当前抽取的这一对行坐标xp和列坐标yp,然后进行步骤6.3;步骤6.3将当前抽取的这一对行坐标xp和列坐标yp按如下公式进行变换:ρ=xp·cos(θ)+yp·sin(θ),θ=0°,1°,2°,…,180°总共得到181组ρ和θ,再对参数空间矩阵D中的第θ+1行、第[ρ]+M5+M6列的元素加1,[ρ]表示对ρ取整数,然后找出参数空间矩阵D中所有元素的最大值max及最大值max所在的行坐标θm+1和列坐标ρm+M5+M6,再判断这个最大值max是否大于给定阈值50,如果大于,则进行步骤6.4,否则返回步骤6.2;步骤6.4将参数空间矩阵D中所有元素的最大值max所在的行坐标θm和列坐标ρm代入以下公式:ρ=xi·cos(θ)+yi·sin(θ),得到车道线二值图像S5中的一条直线方程ρm=x5·cos(θm)+y5·sin(θm),然后在车道线二值图像S5中,以当前抽取的这一对行坐标xp、列坐标yp所对应的像素点为起始点,沿着ρm=x5·cos(θm)+y5·sin(θm)这条直线搜索白色点,当遇到图像边界或者连续黑色点的数量超过50时,结束搜索,得到一条白色直线段的两个端点坐标和在这条白色直线段上的N个白色点的行坐标和列坐标,如果当前直线段上的两个端点的距离等于或大于100像素,则记录当前直线段的两个端点坐标(xstart,i,ystart,i)、(xend,i,yend,i),然后去除坐标集C1中已经确定属于这条直线段的这N个白色点的行坐标和列坐标,并且将已经确定属于这条直线段的这N个白色点的每一对行坐标xi和列坐标yi,i为正整数,i=1,2,…,N,按照公式ρ=xi·cos(θ)+yi·sin(θ),θ=0°,1°,2°,…,180°进行变换,然后对参数空间矩阵D中的第θ+1行、第[ρ]+M5+M6列的元素减1,如果当前直线段上的两个端点距离小于100像素,直接去除坐标集C1中已经确定属于当前直线段的这N个白色点的行坐标和列坐标,然后返回步骤6.2;步骤7:利用高速公路的车道线分布特点,去掉非车道线的直线,得到车道线参数序列L5,其步骤如下:步骤7.1首先利用步骤6中获取到的直线段参数集L1中候选线段两个端点坐标(xstart,i,ystart,i)、\t(xend,i,yend,i)计算每条线段的线段角度i=1,2,…,N1,然后使用统计学方法得到所有线段角度{αi
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1