CN103778634B - 一种基于图像处理的车辙检测方法 - Google Patents
一种基于图像处理的车辙检测方法 Download PDFInfo
- Publication number
- CN103778634B CN103778634B CN201410026421.1A CN201410026421A CN103778634B CN 103778634 B CN103778634 B CN 103778634B CN 201410026421 A CN201410026421 A CN 201410026421A CN 103778634 B CN103778634 B CN 103778634B
- Authority
- CN
- China
- Prior art keywords
- pixel
- point
- image
- gradient
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于图像处理的车辙检测方法,该方法首先通过摄像头采集道路彩色车辙图像,然后把彩色图片转化成单通道的灰度图,用一阶偏导的有限差分来计算高斯平滑后灰度图每个像素点的梯度,然后计算出梯度的幅值和方向,保留局部梯度最大的点,抑制非极大值,使用3个阈值 法检验和连接边缘,用50*50的窗口处理边缘点,最终实现车辙检测;本发明快速高效,能准确地检测出大多数的车辙。
Description
技术领域
本发明涉及图像处理及城市环境监测预警技术领域,尤其涉及一种基于图像处理的车辙检测方法。
背景技术
车辆在布有灰尘的道路上驶过会留下车辙,在经常布有灰尘的道路上,比如施工道路,通过检测车辙可以判断道路的干净程度,指导是否需要清扫道路,从而达到保护环境的目的。但是传统的工作人员目测车辙深浅及密度的方法不但消耗大量人力,而且不能进行长时间操作,时间成本很大。所以利用采集设备及计算机系统的自动检测方法成为当务之急。
随着计算机技术的发展,图像处理技术日趋成熟,其中边缘检测算法很多,例如Robert算子、Sobel算子、Laplacian算子、Canny算子等,Robert和Laplacian算子对噪声敏感,Sobel算子间断点多,由于车辙边缘的连续性和噪声大的特点,Robert、Soble和Laplacian算子并不适用,同时由于车辙边缘性弱,所以仅靠canny算子的两个阈值也是达不到最佳的效果。
车辙的大多的形状比较接近于直线,也有少量由汽车拐弯造成的类圆弧,Hough变换主要是针对直线的检测,也可以检查其他的形状。由于车辙检验的边缘性不强,和形状的多变,单纯的使用Hough变换,根本达不到效果。
发明内容
本发明的目的在于克服边缘检测和Hough直线检测用于车辙检测上的缺陷,提供一种基于图像处理的车辙检测方法。本发明结合传统的canny边缘检测算法,采用三阈值法检验和连接边缘,能够达到更佳的效果,提高车辙边缘检测的准确性及效率;本发明在小窗口内进行Hough直线检验,在小窗口内类圆弧可近似成直线,可检测出类圆弧;本发明亦规定一种连接边缘的方法,能够检测出绝大多数的车辙。
本发明是通过以下技术方案实现的:一种基于图像处理的车辙检测方法,包括如下步骤:
步骤1:通过摄像头采集道路彩色车辙图像。
步骤2:把彩色图片转化成单通道的灰度图:用A[m,n]表示m行n列的矩阵A,A(y,x)表示在矩阵A中第y行第x列的值。一般的RGB图的转化公式为:
g=0.3×r+0.59×g+0.11×b
用GI[m,n]保存灰度值,其中m是图像的高度,n是宽度;用GI(i,j)表示像素点(j,i)的灰度值;用SI[m,n]保存平滑后图像的灰度值。SI[m,n]的计算方法是:
步骤3:用一阶偏导的有限差分来计算高斯平滑后灰度图每个像素点的梯度,然后计算出梯度的幅值和方向:用Gx[m,n]表示梯度在水平方向的值,用Gy[m,n]表示梯度在垂直方向的值,用G[m,n]表示梯度的幅值,用θ[m,n]表示梯度的方向。各自的计算方法是:
Gx(y,x)=SI(y,x+1)-SI(y,x-1)
Gy(y,x)=SI(y+1,x)-SI(y-1,x)
步骤4:保留局部梯度最大的点,抑制非极大值:图像上每一个象素点M(mx,my)与沿着梯度线的两个象素相比,如果像素点M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令G[my][mx]=0。否则保持像素点梯度幅值不变。
步骤5:使用3个阈值(T1<T2<T3)法检验和连接边缘:通过3个阈值得到两个阈值边缘图像N1,N2。图像N1中任意的像素点P(px,py),都有T1≤G(py,px)≤T3。图像N2中任意的像素点P(px,py),都有T2≤G(py,px)≤T3。在图像N2中把边缘连接成轮廓,当到达轮廓的端点时,就在图像N1的8邻点位置寻找可以连接到轮廓上的边缘,这样,不断在N1中收集边缘,直到将N2中所有的边缘点连接起来为止。用E[m,n]记录边缘,E(i,j)=1表示像素点(j,i)是边缘,E(i,j)=0表示像素点(j,i)不是边缘。
步骤6:用50*50的窗口处理边缘点。窗口内边缘点的个数是n,设定边缘点个数阈值nT,把窗口分为三种情况。
第一种情况:n<nT时,此窗口不处理,窗口内的边缘点为自由边缘点。
第二种情况:n≥nT时,并且可以用不多于两条直线进行拟合,这个窗口为好区。直线与窗口交两点——上顶点M(mx,my)、下顶点N(nx,ny),其中(ny>my或者ny=my,nx>mx)。令E(my,mx)=2,E(ny,nx)=3,并记录直线的方向θ,D(my,mx)=D(ny,nx)=θ。点m、n中间的点p(px,py),令E(py,px)=4;不在直线上的点p(px,py),令E(py,px)=0。
第三种情况:n≥nT时,并且无法用两条直线拟合,称这个窗口为噪音区,任意的在这个窗口的像素点p(px,py),令E(py,px)=0。
拟合的方法:用Hough变换找到过最多边缘点的第一条直线,如果只有少量的边缘点不在直线,为第二种情况。否则用Hough变换找到第二条直线过最多剩余的边缘点,若只有少量的边缘不在直线上,为第二种情况,否则属于第三种情况。
经过此步骤后,E(y,x)=0,表示像素点(x,y)为非边缘,E(y,x)=1,表示像素点(x,y)为自由边缘,E(y,x)=2,表示像素点(x,y)为上顶点,E(y,x)=3,表示像素点(x,y)为下顶点,E(y,x)=4,表示像素点(x,y)为拟合的直线中间点。
步骤7:连接边缘点,形成最终的车辙:从上往下,从左往右的顺序遍历E[m,n],找到未处理的顶点p(px,py),既E(py,px)=2或3,若为上顶点,沿着方向D(py,px)向上寻找可连接的边缘点;若为下顶点,沿着方向D(py,px)向下寻找可连接的边缘点。首先令E(py,px)=4,标记顶点P已处理。寻找可连接的边缘点分如下几种情形,定义连接的距离阈值nT1,方向差上的阈值nT2:
情形1,找到顶点M(mx,my),即E(my,mx)=2或3。若||PM||≤nT1且||D(py,px)-D(my,mx)||≤nT2,用直线连接PM,中间的点C(cx,cy),令E(cy,cx)=5。终止该方向的查找。
情形2,找到自由边缘点M(mx,my),即E(my,mx)=1,||PM||≤nT1,用直线连接PM,中间的点C(cx,cy),令E(cy,cx)=5。把M的值赋给P,继续该方向的查找。
情形3,其他情况都终止该方向的查找。其他情况包括1,到达图像的边界;2,||PM||>nT1等。
直到所有的顶点处理完,即E中不存在2或3。E(y,x)=4或5表示像素点(x,y)是位于车辙上的点,这些点的集合即是找到的车辙。
本发明的有益效果是:本发明基于canny边缘检测和Hough变换,在边缘检测中,使用三阈值检验和连接边缘,提取更加准确的车辙边缘。在小窗口内进行Hough变换,适用于类圆弧的车辙,可以进一步的除去噪音,也可以对车辙在小窗口内进行拟合。在连接方面,拟合出的直线是车辙的可能性很大,所以从拟合直线的顶点出发查找可以连接的边缘点并链接,形成是车辙的准确率很高。本发明快速高效,能准确地检测出大多数的车辙。
附图说明
图1是本发明的基于图像处理的车辙检测方法的流程图。
具体实施方式
如图1所示,本发明基于图像处理的车辙检测方法包括如下步骤:
步骤1:通过摄像头采集道路彩色车辙图像。
步骤2:把彩色图片转化成单通道的灰度图,高斯平滑灰度图,减少噪音的影响。
用A[m,n]表示m行n列的矩阵A,A(y,x)表示在矩阵A中第y行第x列的值。一般的RGB图的转化公式为:
g=0.3×r+0.59×g+0.11×b
用GI[m,n]保存灰度值,其中m是图像的高度,n是宽度;用GI(i,j)表示像素点(j,i)的灰度值;用SI[m,n]保存平滑后图像的灰度值。SI[m,n]的计算方法是:
步骤3:用一阶偏导的有限差分来计算高斯平滑后灰度图每个像素点的梯度,然后计算出梯度的幅值和方向。
用Gx[m,n]表示梯度在水平方向的值,用Gy[m,n]表示梯度在垂直方向的值,用G[m,n]表示梯度的幅值,用θ[m,n]表示梯度的方向。各自的计算方法是:
Gx(y,x)=SI(y,x+1)-SI(y,x-1)
Gy(y,x)=SI(y+1,x)-SI(y-1,x)
步骤4:保留局部梯度最大的点,抑制非极大值。
图像上每一个象素点M(mx,my)与沿着梯度线的两个象素相比,如果像素点M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令G[my][mx]=0。否则保持像素点梯度幅值不变。
步骤5:使用3个阈值(T1<T2<T3)法检验和连接边缘。
通过3个阈值得到两个阈值边缘图像N1,N2。图像N1中任意的像素点P(px,py),都有T1≤G(py,px)≤T3。图像N2中任意的像素点P(px,py),都有T2≤G(py,px)≤T3。在图像N2中把边缘连接成轮廓,当到达轮廓的端点时,就在图像N1的8邻点位置寻找可以连接到轮廓上的边缘,这样,不断在N1中收集边缘,直到将N2中所有的边缘点连接起来为止。用E[m,n]记录边缘,E(i,j)=1表示像素点(j,i)是边缘,E(i,j)=0表示像素点(j,i)不是边缘。
步骤6:用50*50的窗口处理边缘点。窗口内边缘点的个数是n,设定边缘点个数阈值nT,把窗口分为三种情况。
第一种情况:n<nT时,此窗口不处理,窗口内的边缘点为自由边缘点。
第二种情况:n≥nT时,并且可以用不多于两条直线进行拟合,这个窗口为好区。直线与窗口交两点——上顶点M(mx,my)、下顶点N(nx,ny),其中(ny>my或者ny=my,nx>mx)。令E(my,mx)=2,E(ny,nx)=3,并记录直线的方向θ,D(my,mx)=D(ny,nx)=θ。点m、n中间的点p(px,py),令E(py,px)=4;不在直线上的点p(px,py),令E(py,px)=0。
第三种情况:n≥nT时,并且无法用两条直线拟合,称这个窗口为噪音区,任意的在这个窗口的像素点p(px,py),令E(py,px)=0。
拟合的方法:用Hough变换找到过最多边缘点的第一条直线,如果只有少量的边缘点不在直线,为第二种情况。否则用Hough变换找到第二条直线过最多剩余的边缘点,若只有少量的边缘不在直线上,为第二种情况,否则属于第三种情况。
经过此步骤后,E(y,x)=0,表示像素点(x,y)为非边缘,E(y,x)=1,表示像素点(x,y)为自由边缘,E(y,x)=2,表示像素点(x,y)为上顶点,E(y,x)=3,表示像素点(x,y)为下顶点,E(y,x)=4,表示像素点(x,y)为拟合的直线中间点。
步骤7:连接边缘点,形成最终的车辙。从上往下,从左往右的顺序遍历E[m,n],找到未处理的顶点p(px,py),既E(py,px)=2或3,若为上顶点,沿着方向D(py,px)向上寻找可连接的边缘点;若为下顶点,沿着方向D(py,px)向下寻找可连接的边缘点。首先令E(py,px)=4,标记顶点P已处理。寻找可连接的边缘点分如下几种情形,定义连接的距离阈值nT1,方向差上的阈值nT2:
情形1,找到顶点M(mx,my),即E(my,mx)=2或3。若||PM||≤nT1且||D(py,px)-D(my,mx)||≤nT2,用直线连接PM,中间的点C(cx,cy),令E(cy,cx)=5。终止该方向的查找。
情形2,找到自由边缘点M(mx,my),即E(my,mx)=1,||PM||≤nT1,用直线连接PM,中间的点C(cx,cy),令E(cy,cx)=5。把M的值赋给P,继续该方向的查找。
情形3,其他情况都终止该方向的查找。其他情况包括1,到达图像的边界;2,||PM||>nT1等。
直到所有的顶点处理完,即E中不存在2或3。E(y,x)=4或5表示像素点(x,y)是位于车辙上的点,这些点的集合即是找到的车辙。
Claims (1)
1.一种基于图像处理的车辙检测方法,其特征在于,包括如下步骤:
步骤1:通过摄像头采集道路彩色车辙图像;
步骤2:把彩色图片转化成单通道的灰度图:用A[m,n]表示m行n列的矩阵A,A(y,x)表示在矩阵A中第y行第x列的值;一般的RGB图的转化公式为:
g=0.3×r+0.59×g+0.11×b
用GI[m,n]保存灰度值,其中m是图像的高度,n是宽度;用GI(i,j)表示像素点(j,i)的灰度值;用SI[m,n]保存平滑后图像的灰度值;SI[m,n]的计算方法是:
步骤3:用一阶偏导的有限差分来计算高斯平滑后灰度图每个像素点的梯度,然后计算出梯度的幅值和方向:用Gx[m,n]表示梯度在水平方向的值,用Gy[m,n]表示梯度在垂直方向的值,用G[m,n]表示梯度的幅值,用θ[m,n]表示梯度的方向;各自的计算方法是:
Gx(y,x)=SI(y,x+1)-SI(y,x-1)
Gy(y,x)=SI(y+1,x)-SI(y-1,x)
步骤4:保留局部梯度最大的点,抑制非极大值:图像上每一个象素点M(mx,my)与沿着梯度线的两个象素相比,如果像素点M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令G[my][mx]=0;否则保持像素点梯度幅值不变;
步骤5:使用3个阈值法检验和连接边缘,3个阈值分别记为T1、T2、T3,且T1<T2<T3:通过3个阈值得到两个阈值边缘图像N1,N2;图像N1中任意的像素点P(px,py),都有T1≤G(py,px)≤T3;图像N2中任意的像素点P(px,py),都有T2≤G(py,px)≤T3;在图像N2中把边缘连接成轮廓,当到达轮廓的端点时,就在图像N1的8邻点位置寻找可以连接到轮廓上的边缘,这样,不断在N1中收集边缘,直到将N2中所有的边缘点连接起来为止;用E[m,n]记录边缘,E(i,j)=1表示像素点(j,i)是边缘,E(i,j)=0表示像素点(j,i)不是边缘;
步骤6:用50*50的窗口处理边缘点;窗口内边缘点的个数是n,设定边缘点个数阈值nT,把窗口分为三种情况;
第一种情况:n<nT时,此窗口不处理,窗口内的边缘点为自由边缘点;
第二种情况:n≥nT时,并且可以用不多于两条直线进行拟合,这个窗口为好区;直线与窗口交两点——上顶点M(mx,my)、下顶点N(nx,ny),其中ny>my或者ny=my,nx>mx;令E(my,mx)=2,E(ny,nx)=3,并记录直线的方向θ,D(my,mx)=D(ny,nx)=θ;点m、n中间的点p(px,py),令E(py,px)=4;不在直线上的点p(px,py),令E(py,px)=0;
第三种情况:n≥nT时,并且无法用两条直线拟合,称这个窗口为噪音区,任意的在这个窗口的像素点p(px,py),令E(py,px)=0;
拟合的方法:用Hough变换找到过最多边缘点的第一条直线,如果只有少量的边缘点不在直线,为第二种情况;否则用Hough变换找到第二条直线过最多剩余的边缘点,若只有少量的边缘不在直线上,为第二种情况,否则属于第三种情况;
经过此步骤后,E(y,x)=0,表示像素点(x,y)为非边缘,E(y,x)=1,表示像素点(x,y)为自由边缘,E(y,x)=2,表示像素点(x,y)为上顶点,E(y,x)=3,表示像素点(x,y)为下顶点,E(y,x)=4,表示像素点(x,y)为拟合的直线中间点;
步骤7:连接边缘点,形成最终的车辙:从上往下,从左往右的顺序遍历E[m,n],找到未处理的顶点p(px,py),既E(py,px)=2或3,若为上顶点,沿着方向D(py,px)向上寻找可连接的边缘点;若为下顶点,沿着方向D(py,px)向下寻找可连接的边缘点;首先令E(py,px)=4,标记顶点P已处理;寻找可连接的边缘点分如下几种情形,定义连接的距离阈值nT1,方向差上的阈值nT2:
情形1,找到顶点M(mx,my),即E(my,mx)=2或3;若||PM||≤nT1且||D(py,px)-D(my,mx)||≤nT2,用直线连接PM,中间的点C(cx,cy),令E(cy,cx)=5;终止该方向的查找;
情形2,找到自由边缘点M(mx,my),即E(my,mx)=1,||PM||≤nT1,用直线连接PM,中间的点C(cx,cy),令E(cy,cx)=5;把M的值赋给P,继续该方向的查找;
情形3,其他情况都终止该方向的查找;其他情况包括1,到达图像的边界;2,||PM||>nT1等;
直到所有的顶点处理完,即E中不存在2或3;E(y,x)=4或5表示像素点(x,y)是位于车辙上的点,这些点的集合即是找到的车辙。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410026421.1A CN103778634B (zh) | 2014-01-21 | 2014-01-21 | 一种基于图像处理的车辙检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410026421.1A CN103778634B (zh) | 2014-01-21 | 2014-01-21 | 一种基于图像处理的车辙检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778634A CN103778634A (zh) | 2014-05-07 |
CN103778634B true CN103778634B (zh) | 2016-06-22 |
Family
ID=50570831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410026421.1A Active CN103778634B (zh) | 2014-01-21 | 2014-01-21 | 一种基于图像处理的车辙检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778634B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104776810B (zh) * | 2015-03-24 | 2016-03-30 | 长安大学 | 一种基于3d线激光设备的坑槽三维指标提取计算方法 |
CN107180228A (zh) * | 2017-05-02 | 2017-09-19 | 开易(北京)科技有限公司 | 一种用于车道线检测的梯度增强转换方法及系统 |
CN108109208B (zh) * | 2017-12-01 | 2022-02-08 | 同济大学 | 一种海上风电场增强现实方法 |
CN112446293B (zh) * | 2020-10-30 | 2023-06-23 | 华设设计集团股份有限公司 | 一种公路路面车辙污染事件视频检测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103194956A (zh) * | 2013-04-15 | 2013-07-10 | 南京道润交通科技有限公司 | 道路检测车及利用其进行道路检测的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPP107597A0 (en) * | 1997-12-22 | 1998-01-22 | Commonwealth Scientific And Industrial Research Organisation | Road pavement deterioration inspection system |
-
2014
- 2014-01-21 CN CN201410026421.1A patent/CN103778634B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103194956A (zh) * | 2013-04-15 | 2013-07-10 | 南京道润交通科技有限公司 | 道路检测车及利用其进行道路检测的方法 |
Non-Patent Citations (1)
Title |
---|
"公路路面检测技术综述";丁传鑫;《工程测量与检测》;20131130;第31卷(第6期);160-163页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103778634A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107808378B (zh) | 基于垂直纵横线轮廓特征的复杂结构铸件潜在缺陷检测方法 | |
CN104112370B (zh) | 基于监控图像的停车场智能车位识别方法及系统 | |
CN103778634B (zh) | 一种基于图像处理的车辙检测方法 | |
CN104657727B (zh) | 一种车道线的检测方法 | |
CN103364410B (zh) | 一种基于模板搜索的水工混凝土结构水下表面裂缝检测方法 | |
CN105158258A (zh) | 一种基于计算机视觉的竹条表面缺陷检测方法 | |
CN105987684A (zh) | 一种基于单目视觉的农业车辆导航线检测系统及方法 | |
CN103942816B (zh) | 一种基于图像处理的木材单板节子数量和大小的识别方法 | |
CN105488454A (zh) | 基于单目视觉的前方车辆检测与测距 | |
CN103646248B (zh) | 基于双目线阵ccd汽车底盘成像的异物检测方法 | |
CN107808386A (zh) | 一种基于图像语义分割的海天线检测方法 | |
CN103177259A (zh) | 色块识别方法及装置 | |
CN103593981B (zh) | 一种基于视频的车型识别方法 | |
CN106887004A (zh) | 一种基于块匹配的车道线检测方法 | |
WO2015024257A8 (en) | Unstructured road boundary detection | |
CN105547602A (zh) | 一种地铁隧道管片渗漏水的远距离测量方法 | |
CN104867145B (zh) | 基于vibe模型的ic元件焊点缺陷检测方法 | |
CN106327464A (zh) | 一种边缘检测方法 | |
CN104199823A (zh) | 一种基于视觉数据驱动的织物疵点动态检测方法 | |
CN104637067A (zh) | 一种纹理表面的缺陷检测方法 | |
CN103914829B (zh) | 一种含噪图像边缘检测方法 | |
CN103234530B (zh) | 基于视频信号的城市车辆轮胎清洁状况检测方法 | |
CN101950352A (zh) | 一种去除光照影响的目标检测方法及装置 | |
CN106250880B (zh) | 一种车辆上坡前道路坡度视觉检测方法 | |
CN104751158A (zh) | 露天矿区路面障碍物视觉识别的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |