资源简介
试用过的一种传统车道检测方法(里面还有HOUGH变换的车道检测方法赠送,去掉注释符号即可使用),已改成vs2015+OPENCV3.3版,绝对好用 。10分是良心价。
代码片段和文件信息
// lanedetect.cpp : 定义控制台应用程序的入口点。
#include “stdafx.h“
#include
#include
#include
using namespace cv;
using namespace std;
/*
#define INF 99999999
CvCapture* g_capture = NULL;
int g_slider_pos = 0;
int frame_count = 0;
CvSeq* lines;
int main(int argc char* argv[])
{
cvNamedWindow(“show“);
g_capture = cvCreateFileCapture(“D:\\shipin/2--2018-2-4--15-36-23-999.avi“);
IplImage* frame;
while (1)
{
CvMemStorage* storage = cvCreateMemStorage();
frame = cvQueryframe(g_capture);
//set the ROI of the original image
int x = 0 y = frame->height / 2;
int width = frame->width height = frame->height / 2;
if (!frame)
break;
cvSetImageROI(frame cvRect(x y width height));
IplImage* gray = cvCreateImage(cvGetSize(frame) 8 1);
cvCvtColor(frame gray CV_BGR2GRAY);
cvCanny(gray gray 50 100);
cvShowImage(“canny“ gray);
cvSmooth(gray gray CV_GAUSSIAN 3 1 0);
//Hough
lines = cvHoughLines2(gray storage CV_HOUGH_PROBABILISTIC 1 CV_PI / 180 50 90 50);
//select approprivate lines acoording to the slope
for (int i = 0; i < lines->total; i++)
{
double k = INF;
CvPoint* line = (CvPoint*)cvGetSeqElem(lines i);
int dx = line[1].x - line[0].x;
int dy = line[1].x - line[0].y;
double angle = atan2(dy dx) * 180 / CV_PI;
if (abs(angle) <= 10)
continue;
if (line[0].y > line[1].y + 50 || line[0].y < line[1].y - 50)
{
cvLine(frame line[0] line[1] CV_RGB(255 0 0) 2 CV_AA);
}
}
cvResetImageROI(frame);
cvShowImage(“show“ frame);
char c = cvWaitKey(33);
if (c == 27)
break;
}
cvReleaseCapture(&g_capture);
cvDestroyWindow(“show“);
return 0;
}
*/
/*TODO
* improve edge linking
* remove blobs whose axis direction doesnt point towards vanishing pt
* Parallelisation
* lane prediction
*/
#include
#include “opencv2/imgproc/imgproc.hpp“
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
clock_t start stop;
class LaneDetect
{
public:
Mat currframe; //stores the upcoming frame
Mat temp; //stores intermediate results
Mat temp2; //stores the final lane segments
int diff diffL diffR;
int laneWidth;
int diffThreshTop;
int diffThreshLow;
int ROIrows;
int vertical_left;
int vertical_right;
int vertical_top;
int smallLaneArea;
int longLane;
int vanishingPt;
float maxLaneWidth;
//to store various blob properties
Mat binary_image; //used for blob removal
int minSize;
int ratio;
float contour_area;
float blob_angle_deg;
float bounding_width;
float bounding_length;
Size2f sz;
vector< vector > contours;
vector hierarchy;
RotatedRect rotated_rect;
LaneDetect(Mat startframe)
{
//currframe = startFram
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-02-11 19:44 lanedetect\
目录 0 2018-02-10 21:59 lanedetect\.vs\
目录 0 2018-02-10 21:59 lanedetect\.vs\lanedetect\
目录 0 2018-02-10 21:59 lanedetect\.vs\lanedetect\v14\
文件 39936 2018-02-11 19:44 lanedetect\.vs\lanedetect\v14\.suo
目录 0 2018-02-10 22:03 lanedetect\Debug\
文件 61440 2018-02-10 22:03 lanedetect\Debug\lanedetect.pdb
目录 0 2018-02-10 21:59 lanedetect\ipch\
目录 0 2018-02-10 22:20 lanedetect\ipch\LANEDETECT-2a780b78\
文件 3538944 2018-02-10 22:01 lanedetect\ipch\LANEDETECT-2a780b78\LANEDETECT-13cafd85.ipch
文件 3604480 2018-02-10 22:20 lanedetect\ipch\LANEDETECT-2a780b78\LANEDETECT-db0486a3.ipch
目录 0 2018-02-11 19:44 lanedetect\lanedetect\
目录 0 2018-02-10 22:03 lanedetect\lanedetect\Debug\
文件 2466 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.log
文件 86719 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.obj
文件 3407872 2018-02-10 22:02 lanedetect\lanedetect\Debug\lanedetect.pch
目录 0 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\
文件 1346 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\CL.command.1.tlog
文件 22310 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\CL.read.1.tlog
文件 772 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\CL.write.1.tlog
文件 180 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\lanedetect.lastbuildstate
文件 2 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\li
文件 2 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\li
文件 2 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\li
文件 2 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\li
文件 2 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\li
文件 2 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\li
文件 2 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\li
文件 0 2018-02-10 22:03 lanedetect\lanedetect\Debug\lanedetect.tlog\unsuccessfulbuild
文件 11846 2018-02-10 22:02 lanedetect\lanedetect\Debug\stdafx.obj
文件 560128 2018-02-10 22:03 lanedetect\lanedetect\Debug\vc140.idb
............此处省略31个文件信息
- 上一篇:LSM6DS3中文资料
- 下一篇:学校教材订购系统.rar绝对完整绝对实用
相关资源
- upx 3.94 在 vs2015下编译通过
- qt-vs-tools-msvc2015-2.0.0
- opencv3.4.1+opencv_contrib经vs2015编译后生成
- win10 vs2015 编译nms和gpunms
- 14章9题 GibbsLDA++-0.2 VS2015工程
- CadLib v4.0.35.21 特别版本支持CAD2000-20
- OpenCV3.3最小二乘法直线拟合
- CactiWall.VS2015.2019.8.5.7z
- 于老师的人脸识别VS2015工程
- 用VS2015编译的hiredis.dll
- nginx1.9.9 vs2015 完整项目
- bigtiff4.1源代码与编译好的静态库
- OPENGL三维场景搭建、漫游、交互_vs2
- VS2015+Opencv310的X86动态库lib
- vs2013\\vs2015软件卸载后,清除系统盘的
- VS2015编译的log4cpp动态库
- 利用OpenCV在VS2015平台下对进行人脸识
- QT5+VS2015制作的画图程序源代码
- Windows下VS2015编译并使用libcurl.lib静态
- VS2015+Qt5.7 两个按钮 切换循环显示图片
- BabeLua For 2015 V3.2.2.0.vsix
- tesseract环境
- openMVS+openMVG+VS2015 配置全过程方法介绍
- QT5.7串口助手VS2015下开发
- AnkhSVN 2.7.0.6493msi 支持vs2015
- VS2015 编译的 GSL(GNU Scientific Library)
- librdkafka win7 64位 vs2015编译Release.rar
- Visual Studio 2015 Installer
- visual studio community 2015 正版官网下的
- opencv3.3 自编译需要的xfeatures2d
评论
共有 条评论