OpenCV | 霍夫变换:以车道线检测为例

霍夫变换

  • 霍夫变换只能灰度图,彩色图会报错

lines = cv2.HoughLinesP(edge_img,1,np.pi/180,15,minLineLength=40,maxLineGap=20)

  • 参数1:要检测的图片矩阵
  • 参数2:距离r的精度,值越大,考虑越多的线
  • 参数3:距离theta的精度,值越大,考虑越多的线
  • 参数4:累加数阈值,值越小,考虑越多的线
  • minLineLength :最短长度阈值,短于这个长度的线会被排除
  • maxLineGap:同一直线两点之间的最大距离
python 复制代码
import cv2
import numpy as np

masked_edge_img.jpg (经过掩码后的图像)

python 复制代码
edge_img = cv2.imread('masked_edge_img.jpg',cv2.IMREAD_GRAYSCALE)
mask = np.zeros_like(edge_img)
python 复制代码
#获取所有线段
lines = cv2.HoughLinesP(edge_img, 1, np.pi/180, 15, minLineLength=40, maxLineGap=20)
python 复制代码
len(lines)

输出结果 :147 (共有147条线段)

python 复制代码
#按照斜率分成车道线
left_lines = [line for line in lines if calculate_slope(line)>0]
right_lines = [line for line in lines if calculate_slope(line)<0]
相关推荐
喜欢吃豆12 小时前
GraphRAG 技术教程:从核心概念到高级架构
人工智能·架构·大模型
王哈哈^_^12 小时前
YOLOv11视觉检测实战:安全距离测算全解析
人工智能·数码相机·算法·yolo·计算机视觉·目标跟踪·视觉检测
AI浩12 小时前
FeatEnHancer:在低光视觉下增强目标检测及其他任务的分层特征
人工智能·目标检测·目标跟踪
AI technophile12 小时前
OpenCV计算机视觉实战(29)——OpenCV DNN模块
opencv·计算机视觉·dnn
深度学习lover12 小时前
<数据集>yolo航拍交通目标识别数据集<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·航拍交通目标识别
商汤万象开发者12 小时前
LazyLLM教程 | 第13讲:RAG+多模态:图片、表格通吃的问答系统
人工智能·科技·算法·开源·多模态
IT管理圈12 小时前
AI agent正在重塑组织:麦肯锡的“智能体组织“解读
人工智能
YuanDaima204812 小时前
[CrewAI] 第5课|基于多智能体构建一个 AI 客服支持系统
人工智能·笔记·多智能体·智能体·crewai
Coovally AI模型快速验证12 小时前
视觉语言模型(VLM)深度解析:如何用它来处理文档
人工智能·yolo·目标跟踪·语言模型·自然语言处理·开源