OpenCV | 霍夫变换:以车道线检测为例
2023-12-23 19:52:04
霍夫变换
- 霍夫变换只能灰度图,彩色图会报错
lines = cv2.HoughLinesP(edge_img,1,np.pi/180,15,minLineLength=40,maxLineGap=20)
- 参数1:要检测的图片矩阵
- 参数2:距离r的精度,值越大,考虑越多的线
- 参数3:距离theta的精度,值越大,考虑越多的线
- 参数4:累加数阈值,值越小,考虑越多的线
- minLineLength :最短长度阈值,短于这个长度的线会被排除
- maxLineGap:同一直线两点之间的最大距离
?
import cv2
import numpy as np
masked_edge_img.jpg (经过掩码后的图像)
edge_img = cv2.imread('masked_edge_img.jpg',cv2.IMREAD_GRAYSCALE)
mask = np.zeros_like(edge_img)
#获取所有线段
lines = cv2.HoughLinesP(edge_img, 1, np.pi/180, 15, minLineLength=40, maxLineGap=20)
len(lines)
?输出结果 :147 (共有147条线段)
#按照斜率分成车道线
left_lines = [line for line in lines if calculate_slope(line)>0]
right_lines = [line for line in lines if calculate_slope(line)<0]
文章来源:https://blog.csdn.net/m0_62976848/article/details/135172326
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!