实现功能:
视频图像采集
图像预处理
车道线检测与识别
实现的效果:
实现思路:
视频采集部分:摄像头采集分为单目采集与多目(双目),双目采集采用立体视觉方法,虽然对于恢复物体的深度信息比较容易,但是图像共轭像点的匹配问题,却在很大程度上限制了它的应用。本系统采用单目视觉方法,即通过一个摄像机来采集图像。虽然,这种方法得到的图像不包含物体的深度信息,但是,如果把时间看作第三轴线,我们便可以从连续的视频图像中得到准三维图像
图像预处理部分:包含图像灰度化,增强图像对比度,图像中值滤波,图像边缘增强,边缘检测信息与区域增长信息融合几部分。
车道线检测识别:有多种方法,如最小二乘法,Hough变换,Radon变换等,本系统使用opencv自带直线检测库霍夫变换。
实现代码:
读取视频检测其中车道线部分核心代码;
用到的结构体声明以及变量初始化:
IplImage* pCutFrame = NULL;
IplImage* pCutFrImg = NULL;
IplImage* pCutBkImg = NULL;
CvMat* pCutFrameMat = NULL;
CvMat* pCutFrMat = NULL;
CvMat* pCutBkMat = NULL;
// CvCapture* pCapture = NULL;
CvMemStorage* storage = cvCreateMemStorage();
CvSeq* lines = NULL;
<span style="white-space:pre"> </span> int nFrmNum = 0;
int CutHeight = 250;
</