日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV 车道线提取

發布時間:2025/5/22 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV 车道线提取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在車道線檢測中,使用的是HSL顏色空間,其中H表示色相,即顏色,S表示飽和度,即顏色的純度,L表示顏色的明亮程度。

本案例基于圖像的梯度和顏色特征,定位車道線的位置。

在這里選用Sobel邊緣提取算法,Sobel相比于Canny的優秀之處在于,它可以選擇橫向或縱向的邊緣進行提取。從車道的拍攝圖像可以看出,車道線在橫向上的邊緣突變是需要關心的問題。OpenCV提供的cv2.Sobel()函數,將進行邊緣提取后的圖像做二進制圖的轉化,即提取到邊緣的像素點顯示為白色(值為1),未提取到邊緣的像素點顯示為黑色(值為0)。由于只使用邊緣檢測,在有樹木陰影覆蓋的區域時,雖然能提取出車道線的大致輪廓,但會同時引入的噪聲,給后續處理帶來麻煩。所以在這里引入顏色閾值來解決這個問題。

import cv2 import numpy as np import matplotlib.pyplot as plt import matplotlib.image as mpimgdef pipeline(img, s_thresh=(170, 255), sx_thresh=(50, 300)):img = np.copy(img)#1.將圖像轉換為HLS色彩空間,并分離各個通道hls = cv2.cvtColor(img, cv2.COLOR_RGB2HLS).astype(np.float64)h_channel = hls[:, :, 0]l_channel = hls[:, :, 1]s_channel = hls[:, :, 2]#2.利用sobel計算x方向的梯度sobelx = cv2.Sobel(l_channel, cv2.CV_64F, 1, 0)abs_sobelx = np.absolute(sobelx)# 將導數轉換為8bit整數scaled_sobel = np.uint8(255 * abs_sobelx / np.max(abs_sobelx))sxbinary = np.zeros_like(scaled_sobel)sxbinary[(scaled_sobel >= sx_thresh[0]) & (scaled_sobel <= sx_thresh[1])] = 1# 3.對s通道進行閾值處理s_binary = np.zeros_like(s_channel)s_binary[(s_channel >= s_thresh[0]) & (s_channel <= s_thresh[1])] = 1# 4. 將邊緣檢測的結果和顏色空間閾值的結果合并,并結合l通道的取值,確定車道提取的二值圖結果color_binary = np.dstack((np.zeros_like(sxbinary), sxbinary, s_binary))return color_binarydef draw_images(img, undistorted, title, cmap):f, (ax1, ax2) = plt.subplots(1, 2, figsize=(24, 9))f.tight_layout()ax1.imshow(img)ax1.set_title('Original Image', fontsize=50)if cmap is not None:ax2.imshow(undistorted, cmap=cmap)else:ax2.imshow(undistorted)ax2.set_title(title, fontsize=50)plt.subplots_adjust(left=0., right=1, top=0.9, bottom=0.)plt.show()if __name__ == '__main__':image = mpimg.imread('./img.png')pipeline_img = pipeline(image)draw_images(image, pipeline_img, 'Pipeline Result', None)

代碼運行結果:

總結:

  • 顏色空間:

    HLS:色相,飽和度,明亮程度

  • 車道線提取

    顏色空間轉換 → 邊緣檢測 → 顏色閾值 → 合并得到檢測結果。

  • 注:NumPy 1.20.0 后的版本 棄用了 np.float,需要改為 np.float64
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

    棄用的名稱相同NumPy標量類型名稱
    numpy.boolboolnumpy.bool_
    numpy.intintnumpy.int_(默認)numpy.int64,或numpy.int32
    numpy.floatfloatnumpy.float64,numpy.float_,numpy.double
    numpy.complexcomplexnumpy.complex128,numpy.complex_,numpy.cdouble
    numpy.objectobjectnumpy.object_
    numpy.strstrnumpy.str_
    numpy.longintnumpy.int_,numpy.longlong
    numpy.unicodestrnumpy.unicode_

    總結

    以上是生活随笔為你收集整理的OpenCV 车道线提取的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 午夜精品一区二区三区在线观看 | 男女xx网站| 国产精品区一区二 | 亚洲精品在线免费播放 | 素人fc2av清纯18岁 | 久久精品8 | 亚洲人成电影在线播放 | 人与拘一级a毛片 | 亚洲午夜免费 | 91大神在线看 | 好吊妞这里只有精品 | 亚洲精品视频一区二区三区 | 色黄视频在线观看 | 亚洲精品7777| 欧美激情视频一区 | 日韩精品一区二区在线视频 | 女优一区 | av成人精品 | 亚洲精品高清视频 | 婷婷丁香激情 | 国产一区二区播放 | 亚洲小视频在线观看 | 亚洲国产欧美一区 | 国产精品网站在线观看 | 午夜激情视频网站 | 人妻一区二区三区免费 | 美丽的姑娘在线观看 | 肉视频在线观看 | 色婷网 | 久久极品视频 | 涩涩天堂| 亚洲大成色 | 米奇7777狠狠狠狠视频 | 免费成人在线观看动漫 | 精品一区二区三区中文字幕 | 欧美性猛烈 | avt天堂网 | 影音先锋成人 | 亚洲激情综合 | 国产精品美女毛片真酒店 | 99国产精品久久久久久久 | 麻豆视频在线看 | 亚洲av成人精品午夜一区二区 | 在线看成人 | 性自由色xxxx免费视频 | 国产精品 欧美 日韩 | 久色综| 亚洲av无码一区二区乱子伦as | 亚洲综合精品国产一区二区三区 | 一级黄色片网址 | 国产尤物视频 | 成人在线网址 | 亚洲高清在线视频 | 欧美精品久久96人妻无码 | 国产精品美女久久久久久久久 | 色大师在线观看 | 午夜亚洲aⅴ无码高潮片苍井空 | 99er热精品视频| 天天干夜夜爽 | 美女被出白浆 | 无码人妻精品一区二区三区在线 | 青青青在线免费观看 | 国产精品精华液网站 | 日韩大片在线免费观看 | 国产噜噜噜| 婷婷综合精品 | 黄网站在线播放 | 日韩一级在线 | 中文字幕在线播 | 性色网站| 午夜成年人 | 懂色av蜜臀av粉嫩av分享吧 | 国产一区二区在线视频观看 | 亚洲区小说区图片区 | www.中文字幕 | 日韩精品在线电影 | 日韩福利视频在线观看 | 久草视频精品在线 | 在线观看av资源 | 毛片看看 | 风间由美av在线 | 欧美激情16p | 久久久久久久女国产乱让韩 | 草色网 | 91麻豆精品91久久久久同性 | 日本精品网| 色婷婷yy| 久久五月网 | 亚洲一区二区三区在线 | 色热热 | 久久国产一二三 | 久久国产99 | 中文字幕一区二区三区人妻四季 | 精产国品一区二区 | 红猫大本营在线观看的 | 在线观看国产一级片 | 97超碰超碰| 国产精品毛片 | 扒开腿揉捏花蒂h |