Helal-Djalali/lane-detection-system
GitHub: Helal-Djalali/lane-detection-system
一个基于 OpenCV 传统计算机视觉算法的 Python 车道线检测系统,能够从道路视频中实时识别并叠加显示车道线。
Stars: 0 | Forks: 0
# 车道线检测系统
这是一个使用 OpenCV 从视频输入中检测道路车道线的 Python 计算机视觉项目。
本项目是作为我的软件工程理学学士(BSc)毕业设计的一部分而开发的。
## 使用的技术
- Python
- OpenCV
- NumPy
## 功能
- 从道路视频中检测车道线
- 将视频帧转换为灰度图
- 应用高斯模糊以减少噪声
- 使用 Canny 边缘检测来检测边缘
- 应用感兴趣区域(ROI)掩码以聚焦于道路区域
- 使用霍夫变换(Hough Line Transform)检测车道线
- 根据斜率和屏幕位置分离左右车道线
- 平滑车道线以减少帧之间的闪烁
## 工作原理
主要步骤如下:
1. 将帧转换为灰度图
2. 应用高斯模糊
3. 使用 Canny 边缘检测边缘
4. 应用感兴趣区域(ROI)掩码
5. 使用霍夫变换(Hough Line Transform)检测直线
6. 将检测到的直线分为左右车道线
7. 平滑检测到的车道线
8. 将车道线叠加到原始视频帧上
## 如何运行
安装所需的库:
```
pip install opencv-python numpy
```
将一个名为 `test.mp4` 的视频文件放在与 `lane_detection.py` 相同的文件夹中。
运行程序:
```
python lane_detection.py
```
按 `q` 或关闭视频窗口以停止程序。
## 文件结构
```
lane-detection-system/
├── README.md
├── lane_detection.py
└── requirements.txt
```
## 未来改进
- 改进在光照条件不佳情况下的车道检测
- 增加对弯曲车道检测的支持
- 增加对图像输入以及视频输入的支持
- 添加简单的用户界面
- 导出处理后的视频输出
标签:OpenCV, Python, 无后门, 自动驾驶, 计算机视觉, 车道线检测, 边缘检测, 逆向工具, 霍夫变换