0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python中用區(qū)域掩模實(shí)現(xiàn)車道線檢測

麥辣雞腿堡 ? 來源:古月居 ? 作者:綠竹巷人 ? 2023-11-17 16:49 ? 次閱讀

1.顏色閾值+ 區(qū)域掩模

我們可以僅僅通過設(shè)置一些RGB通道閾值,來提取車道線。

以下的代碼設(shè)置了RGB通道閾值為220,大于220的像素將設(shè)置為黑色,這樣可以將測試圖片中的車道線提取出來

效果如下

圖片

我們發(fā)現(xiàn)符合閾值的像素既包括了車道線,也包含了其他非車道線部分。

顯然,一個(gè)成熟的自動(dòng)駕駛感知算法,是不可能使用這種方法的。僅僅依靠顏色,既不科學(xué)也不魯棒。

有一種改進(jìn)思路是利用圖像掩模的方法

假設(shè)拍攝圖像的前置攝像頭安裝在汽車上的固定位置,這樣車道線將始終出現(xiàn)在圖像的相同區(qū)域中。我們將設(shè)置了一個(gè)區(qū)域,認(rèn)為車道線處于該區(qū)域內(nèi)。

我們設(shè)置了一個(gè)三角形的區(qū)域,原則上你可以使用其他形狀

![圖

python代碼如下

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np


# Read in the image
image = mpimg.imread('test.jpg')


# Grab the x and y sizes and make two copies of the image
# With one copy we'll extract only the pixels that meet our selection,
# then we'll paint those pixels red in the original image to see our selection
# overlaid on the original.
ysize = image.shape[0]
xsize = image.shape[1]
color_select= np.copy(image)
line_image = np.copy(image)


# Define our color criteria
red_threshold = 220
green_threshold = 220
blue_threshold = 220
rgb_threshold = [red_threshold, green_threshold, blue_threshold]


# Define a triangle region of interest (Note: if you run this code,
left_bottom = [0, ysize-1]
right_bottom = [xsize-1, ysize-1]
apex = [650, 400]


fit_left = np.polyfit((left_bottom[0], apex[0]), (left_bottom[1], apex[1]), 1)
fit_right = np.polyfit((right_bottom[0], apex[0]), (right_bottom[1], apex[1]), 1)
fit_bottom = np.polyfit((left_bottom[0], right_bottom[0]), (left_bottom[1], right_bottom[1]), 1)


# Mask pixels below the threshold
color_thresholds = (image[:,:,0] < rgb_threshold[0]) | 
                    (image[:,:,1] < rgb_threshold[1]) | 
                    (image[:,:,2] < rgb_threshold[2])


# Find the region inside the lines
XX, YY = np.meshgrid(np.arange(0, xsize), np.arange(0, ysize))
region_thresholds = (YY > (XX*fit_left[0] + fit_left[1])) & 
                    (YY > (XX*fit_right[0] + fit_right[1])) & 
                    (YY < (XX*fit_bottom[0] + fit_bottom[1]))
# Mask color selection
color_select[color_thresholds] = [0,0,0]
# Find where image is both colored right and in the region
line_image[~color_thresholds & region_thresholds] = [255,0,0]


# Display our two output images
plt.imshow(color_select)
plt.imshow(line_image)


# uncomment if plot does not display
plt.show()
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    797

    瀏覽量

    58338
  • 檢測
    +關(guān)注

    關(guān)注

    5

    文章

    4413

    瀏覽量

    91305
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84376
收藏 人收藏

    評論

    相關(guān)推薦

    matlab車道檢測算法

    matlab,如何考慮到多情況的車道線圖片,如行人車輛的干擾
    發(fā)表于 03-31 16:38

    如何實(shí)現(xiàn)車道分割

    深度學(xué)習(xí)方法實(shí)現(xiàn)車道分割之二(自動(dòng)駕駛車道分割)
    發(fā)表于 05-22 10:16

    怎么實(shí)現(xiàn)基于OMAP3530平臺(tái)的車道識(shí)別檢測的設(shè)計(jì)?

    本文提出的車道識(shí)別算法的流程如下圖1所示,首先通過OV7670攝像頭捕獲道路圖像,然后按照流程圖中的步驟處理圖像,最后得到清晰的車道標(biāo)志,為以后智能車輛路徑規(guī)劃和避障提供支持。
    發(fā)表于 06-02 06:31

    基于圖像的車道檢測

    基于圖像的車道檢測,點(diǎn)擊上方“3D視覺工坊”,選擇“星標(biāo)”干貨第一時(shí)間送達(dá)文章導(dǎo)讀本文是一篇從零開始做車道
    發(fā)表于 07-20 06:24

    JCMSuite應(yīng)用—衰減相移掩模

    在本示例中,模擬了衰減相移掩模。該掩模/空間圖案成像到光刻膠中。掩模的單元格如下圖所示:掩模的基板被具有兩個(gè)開口的吸收材料所覆蓋。在其中
    發(fā)表于 10-22 09:20

    單片機(jī)車道檢測模型的相關(guān)資料分享

    本篇文章為車道檢測模型系列文章的第四篇,第一篇介紹了模型所使用的單片機(jī)和開發(fā)板,第二篇介紹了實(shí)時(shí)操作系統(tǒng)RTOS,第三篇介紹了所用到的攝像頭和LCD觸摸屏外設(shè),想了解的朋友點(diǎn)擊:(一)https
    發(fā)表于 11-25 08:02

    基于邊界特征的車道標(biāo)識(shí)檢測方法

    為了得到較理想的車道的標(biāo)線邊緣,利用車道的邊緣特征對車道圖像進(jìn)行二值化和形態(tài)學(xué)處理,對車道區(qū)域實(shí)現(xiàn)
    發(fā)表于 01-13 09:48 ?54次下載
    基于邊界特征的<b class='flag-5'>車道</b>標(biāo)識(shí)<b class='flag-5'>線</b><b class='flag-5'>檢測</b>方法

    單目視覺車道識(shí)別算法及其ARM實(shí)現(xiàn)

    單目視覺車道識(shí)別算法及其ARM實(shí)現(xiàn)
    發(fā)表于 09-24 11:38 ?6次下載
    單目視覺<b class='flag-5'>車道</b><b class='flag-5'>線</b>識(shí)別算法及其ARM<b class='flag-5'>實(shí)現(xiàn)</b>

    基于DSP Builder的行車道檢測設(shè)計(jì)實(shí)現(xiàn)

    通過對攝像頭讀入的道路白線圖像進(jìn)行灰度變換,再檢測出白的邊緣,這是實(shí)現(xiàn)智能車自動(dòng)導(dǎo)航和輔助導(dǎo)航的基礎(chǔ)。行車道檢測系統(tǒng)可以應(yīng)用于智能車的防撞
    發(fā)表于 11-03 16:19 ?0次下載
    基于DSP Builder的行<b class='flag-5'>車道</b><b class='flag-5'>檢測</b>設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>

    一套車道檢測系統(tǒng)

    車道檢測主要用于駕駛輔助和無人駕駛系統(tǒng),根據(jù)攝像頭數(shù)量,分為單目和雙目兩種檢測系統(tǒng)。出于實(shí)時(shí)性和經(jīng)濟(jì)性的考慮,一般采用單目檢測,在對采集過
    發(fā)表于 01-31 11:26 ?1次下載
    一套<b class='flag-5'>車道</b><b class='flag-5'>線</b><b class='flag-5'>檢測</b>系統(tǒng)

    基于ACP平行視覺理論的車道檢測系統(tǒng)設(shè)計(jì)

    過去,車道檢測性能多依賴于人工視覺驗(yàn)證的方法。然而這種方法不能客觀量化車道檢測系統(tǒng)的性能。同
    的頭像 發(fā)表于 05-14 10:09 ?8453次閱讀
    基于ACP平行視覺理論的<b class='flag-5'>車道</b><b class='flag-5'>線</b><b class='flag-5'>檢測</b>系統(tǒng)設(shè)計(jì)

    基于雷達(dá)掃描檢測車道的四種方法

    基于視覺系統(tǒng)的車道檢測有諸多缺陷。 首先,視覺系統(tǒng)對背景光線很敏感,諸如陽光強(qiáng)烈的林蔭道,車道被光線分割成碎片,致使無法提取出
    發(fā)表于 03-07 14:02 ?3152次閱讀
    基于雷達(dá)掃描<b class='flag-5'>檢測</b><b class='flag-5'>車道</b><b class='flag-5'>線</b>的四種方法

    單片機(jī)車道檢測模型(4)——圖像處理算法

    單片機(jī)車道檢測模型(4)——圖像處理算法
    發(fā)表于 11-16 18:06 ?20次下載
    單片機(jī)<b class='flag-5'>車道</b><b class='flag-5'>線</b><b class='flag-5'>檢測</b>模型(4)——圖像處理算法

    汽車電子的lidar檢測車道原理分析

    相機(jī)的光軸基本與地面平行,相機(jī)2D車道成像和BEV視圖可以視為在兩個(gè)不同的視角下車道的成像。如果我們能類比圖像拼接的方法,將相機(jī)視圖“拼接”到BEV視圖下,理論上可以
    發(fā)表于 02-07 09:33 ?662次閱讀

    python中用Canny邊緣檢測和霍夫變實(shí)現(xiàn)車道檢測方法

    Canny邊緣檢測+霍夫變換 顏色閾值+圖像掩模的方法雖然簡單,但是只能應(yīng)對一些固定顏色車道的場景。圖像像素受光照影響將是一個(gè)極其常見的問題。 canny邊緣
    的頭像 發(fā)表于 11-17 16:55 ?880次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>中用</b>Canny邊緣<b class='flag-5'>檢測</b>和霍夫變<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>車道</b><b class='flag-5'>線</b><b class='flag-5'>檢測</b>方法