看过几篇车道线检测的文章,有原理比较简单的,比如基于模板、霍夫变换,复杂的还有基于深度学习的,有检测直道、弯道的。推荐几篇文章。根据实际需求,我只是想能够比较粗略地得到视频流中的车道线信息,不需要特别精确,所以本人是基于OpenCV,通过霍夫变换实现的车道线检测。
直接看代码和结果吧:
代码部分:
/*
-功能:车道线检测
-输入:
IplImage * curImage //图像
-返回:
//本文中保存车道线起点和终点的参数是全局变量
*/
void getRoad(IplImage * curImage)
{
IplImage *temp = cvCreateImage(cvGetSize(curImage), IPL_DEPTH_8U, 1);
//cvCvtColor(curImage, temp, CV_BGR2GRAY);
cvThreshold(curImage, temp, 90, 255.0, CV_THRESH_BINARY); //200
cvErode(temp, temp, NULL, 1);
cvDilate(temp, temp, NULL,