1.一种航拍道路图像路面区域提取方法,其特征在于,包括以下步骤:
对沥青道路图像A0进行Canny边缘检测,得到边缘检测后的图像A1;
使用两遍扫描法对边缘检测后的图像A1进行颜色填充,得到填充颜色的图像A2;
获取沥青道路的H、S、V的取值范围,H指色调,S指饱和度,V指明度;并根据沥青道路的H、S、V的取值范围对沥青道路图像A0进行颜色分割,得到颜色分割后的图像A3;
剔除颜色分割后的图像A3中的孤立干扰区,得到剔除孤立干扰区后的图像A4;
将剔除孤立干扰区后的图像A4与填充颜色的图像A2进行与运算,得到与运算图像A5;
由与运算图像A5当中分割出目标区域;
颜色填充时用灰度值填充,填充的灰度值范围为1~255;所述两遍扫描法的步骤包括:
①利用Threshold()函数将边缘检测后的图像A1中的边缘线的像素值设置为0,其余点的像素值设置为1,即把要填充的点的像素值设置为1,其余点的像素值设置为0;
②第一次扫描:
访问当前像素B(x,y),当B(x,y)==1时:a、如果B(x,y)的领域中像素值都为0,则赋予B(x,y)一个新的label:label+=1,B(x,y)=label;b、如果B(x,y)的领域中有像素值>1的像素Neighbors:1)将Neighbors中的最小值赋予给B(x,y),即B(x,y)=min{Neighbors};2)记录Neighbors中各个值label之间的相等关系,即这些值label同属于同一个连通区域;labelSet[i]={label m,..,label_n},labelSet[i]中的所有label都属于同一个连通区域;
③第二次扫描:
访问当前像素B(x,y),当B(x,y)>1:a、找到与label=B(x,y)同属相等关系的一个最小label值,赋予B(x,y);b、完成扫描后,图像中具有相同label值的像素组成同一个连通区域;
剔除孤立干扰区时计算出面积最小的道路区域占图像面积的比例,在颜色分割后的图像A3当中,以该比例值为临界值ε,运用contourArea()函数计算每一区域的面积,剔除面积比例小于ε的区域;
运用直方图函数计算与运算图像A5中从1到255的灰度值的像素点数,并计算出每一灰度值的像素点数占图像总像素点数的比例;若对应的比例小于所确定的临界值ε,则认为在填充颜色的图像A2中由该灰度值所填充的区域为背景区域,那么在沥青道路图像A0中把所对应的此区域剔除,由此不仅剔除了颜色分割后的图像A3中与目标区域相连接的背景区域,也完成了对目标区域的分割;在填充颜色的图像A2中像素值为0的像素点组成的区域也视为背景区域。
2.根据权利要求1所述的航拍道路图像路面区域提取方法,其特征在于:所述的沥青道路图像A0取自于航拍视频当中的某一帧图像。
3.根据权利要求1所述的航拍道路图像路面区域提取方法,其特征在于:所述的边缘检测后的图像A1中每个道路区域边缘检测线条闭合;如果边缘检测后的图像A1中出现道路区域边缘检测线条没有闭合的情况,则采取以下方法使其闭合:①降低Canny边缘检测函数中的高低阈值;②降低图像的分辨率;③对图像数据使用闭运算。
4.根据权利要求1所述的航拍道路图像路面区域提取方法,其特征在于:截取沥青道路图像A0中的沥青道路区域,运用HSV颜色直方图获取沥青道路的H、S、V的取值范围。
5.根据权利要求1所述的航拍道路图像路面区域提取方法,其特征在于:使用inRang()函数对沥青道路图像A0进行颜色分割,目使标区域内每一点的像素值为255,其余区域内每一点的像素值为0,得到颜色分割的二值图像,即颜色分割后的图像A3。
6.根据权利要求1所述的航拍道路图像路面区域提取方法,其特征在于:所述临界值ε的确定步骤如下:①将颜色分割后的图像A3与填充颜色的图像A2进行与运算,记与运算后的图像为A,运用直方图函数统计出图像A中的灰度值的像素个数,根据每个道路区域的面积总是大于每个干扰区域的面积,找出填充最小面积道路区域的灰度值的像素点个数,此处的灰度值为非0灰度值,计算出该像素点个数占图像总像素点数的比例;②对于视频图像,按照设定帧数间隔取多张图像,计算出临界值集合{ε1,ε2,ε3…},由于拍摄过程中设备的视角影响,去掉临界值中过大或者过小的值,然后选取剩余值中的最小值。
7.一种航拍道路图像路面区域提取系统,其特征在于,包括:
边缘检测模块,用于对沥青道路图像A0进行Canny边缘检测;
颜色填充模块,用于使用两遍扫描法对边缘检测后的图像A1进行颜色填充;
颜色分割模块,根据沥青道路的H、S、V取值范围对沥青道路图像A0进行颜色分割;
孤立干扰区剔除模块,用于剔除颜色分割后的图像A3中的孤立干扰区;
与运算模块,用于对剔除孤立干扰区后的图像A4与填充颜色的图像A2进行与运算;
目标区域分割模块,用于由与运算图像A5当中分割出目标区域;
颜色填充时用灰度值填充,填充的灰度值范围为1~255;所述两遍扫描法的步骤包括:
①利用Threshold()函数将边缘检测后的图像A1中的边缘线的像素值设置为0,其余点的像素值设置为1,即把要填充的点的像素值设置为1,其余点的像素值设置为0;
②第一次扫描:
访问当前像素B(x,y),当B(x,y)==1时:a、如果B(x,y)的领域中像素值都为0,则赋予B(x,y)一个新的label:label+=1,B(x,y)=label;b、如果B(x,y)的领域中有像素值>1的像素Neighbors:1)将Neighbors中的最小值赋予给B(x,y),即B(x,y)=min{Neighbors};2)记录Neighbors中各个值label之间的相等关系,即这些值label同属于同一个连通区域;labelSet[i]={label m,..,label_n},labelSet[i]中的所有label都属于同一个连通区域;
③第二次扫描:
访问当前像素B(x,y),当B(x,y)>1:a、找到与label=B(x,y)同属相等关系的一个最小label值,赋予B(x,y);b、完成扫描后,图像中具有相同label值的像素组成同一个连通区域;
剔除孤立干扰区时计算出面积最小的道路区域占图像面积的比例,在颜色分割后的图像A3当中,以该比例值为临界值ε,运用contourArea()函数计算每一区域的面积,剔除面积比例小于ε的区域;
运用直方图函数计算与运算图像A5中从1到255的灰度值的像素点数,并计算出每一灰度值的像素点数占图像总像素点数的比例;若对应的比例小于所确定的临界值ε,则认为在填充颜色的图像A2中由该灰度值所填充的区域为背景区域,那么在沥青道路图像A0中把所对应的此区域剔除,由此不仅剔除了颜色分割后的图像A3中与目标区域相连接的背景区域,也完成了对目标区域的分割;在填充颜色的图像A2中像素值为0的像素点组成的区域也视为背景区域。