霍夫變換
- 霍夫變換只能灰度圖,彩色圖會報錯
lines = cv2.HoughLinesP(edge_img,1,np.pi/180,15,minLineLength=40,maxLineGap=20)
- 參數(shù)1:要檢測的圖片矩陣
- 參數(shù)2:距離r的精度,值越大,考慮越多的線
- 參數(shù)3:距離theta的精度,值越大,考慮越多的線
- 參數(shù)4:累加數(shù)閾值,值越小,考慮越多的線
- minLineLength :最短長度閾值,短于這個長度的線會被排除
- maxLineGap:同一直線兩點(diǎn)之間的最大距離
?
import cv2
import numpy as np
masked_edge_img.jpg (經(jīng)過掩碼后的圖像)文章來源:http://www.zghlxwxcb.cn/news/detail-763824.html
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)
?輸出結(jié)果 :147 (共有147條線段)文章來源地址http://www.zghlxwxcb.cn/news/detail-763824.html
#按照斜率分成車道線
left_lines = [line for line in lines if calculate_slope(line)>0]
right_lines = [line for line in lines if calculate_slope(line)<0]
到了這里,關(guān)于OpenCV | 霍夫變換:以車道線檢測為例的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!