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]
相关推荐
GuWenyue7 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
love530love8 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
墨舟的AI笔记8 小时前
从文本提示到可交互道具:AIGC 生成游戏资产的语义对齐与合规校验
人工智能
rain_sxr9 小时前
逼近上限就裁剪:大模型 Token 计数与前端上下文预算管理
人工智能
资深数据库专家10 小时前
月之暗面Kimi:K3之后,开源怎么走?
人工智能
小林ixn10 小时前
告别“屎山”与“幻觉”:3个核心心法,让你的Vibe Coding体验起飞
人工智能·agent
汤姆小白11 小时前
06-CLI命令参考
人工智能
颜酱11 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
A洛11 小时前
Codex 实战:一句话完成 Temu 商品图采集与印花抠图自动化
运维·人工智能·自动化·codex