1.顏色閾值+ 區域掩模
我們可以僅僅通過設置一些RGB通道閾值,來提取車道線。
以下的代碼設置了RGB通道閾值為220,大于220的像素將設置為黑色,這樣可以將測試圖片中的車道線提取出來
效果如下
我們發現符合閾值的像素既包括了車道線,也包含了其他非車道線部分。
顯然,一個成熟的自動駕駛感知算法,是不可能使用這種方法的。僅僅依靠顏色,既不科學也不魯棒。
有一種改進思路是利用圖像掩模的方法
假設拍攝圖像的前置攝像頭安裝在汽車上的固定位置,這樣車道線將始終出現在圖像的相同區域中。我們將設置了一個區域,認為車道線處于該區域內。
我們設置了一個三角形的區域,原則上你可以使用其他形狀
![圖
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()
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
RGB
+關注
關注
4文章
798瀏覽量
58463 -
檢測
+關注
關注
5文章
4482瀏覽量
91444 -
python
+關注
關注
56文章
4793瀏覽量
84631
發布評論請先 登錄
相關推薦
怎么實現基于OMAP3530平臺的車道線識別檢測的設計?
本文提出的車道線識別算法的流程如下圖1所示,首先通過OV7670攝像頭捕獲道路圖像,然后按照流程圖中的步驟處理圖像,最后得到清晰的車道標志線,為以后智能車輛路徑規劃和避障提供支持。
發表于 06-02 06:31
JCMSuite應用—衰減相移掩模
在本示例中,模擬了衰減相移掩模。該掩模將線/空間圖案成像到光刻膠中。掩模的單元格如下圖所示:掩模的基板被具有兩個開口的吸收材料所覆蓋。在其中
發表于 10-22 09:20
單片機車道線檢測模型的相關資料分享
本篇文章為車道線檢測模型系列文章的第四篇,第一篇介紹了模型所使用的單片機和開發板,第二篇介紹了實時操作系統RTOS,第三篇介紹了所用到的攝像頭和LCD觸摸屏外設,想了解的朋友點擊:(一)https
發表于 11-25 08:02
基于DSP Builder的行車道檢測設計實現
通過對攝像頭讀入的道路白線圖像進行灰度變換,再檢測出白線的邊緣,這是實現智能車自動導航和輔助導航的基礎。行車道檢測系統可以應用于智能車的防撞
發表于 11-03 16:19
?0次下載
一套車道線檢測系統
車道線檢測主要用于駕駛輔助和無人駕駛系統,根據攝像頭數量,分為單目和雙目兩種檢測系統。出于實時性和經濟性的考慮,一般采用單目檢測,在對采集過
發表于 01-31 11:26
?1次下載
基于雷達掃描檢測車道線的四種方法
基于視覺系統的車道線檢測有諸多缺陷。
首先,視覺系統對背景光線很敏感,諸如陽光強烈的林蔭道,車道線被光線分割成碎片,致使無法提取出
發表于 03-07 14:02
?3179次閱讀
汽車電子的lidar檢測車道線原理分析
相機的光軸基本與地面平行,相機2D車道線成像和BEV視圖可以視為在兩個不同的視角下車道線的成像。如果我們能類比圖像拼接的方法,將相機視圖“拼接”到BEV視圖下,理論上可以
發表于 02-07 09:33
?699次閱讀
python中用Canny邊緣檢測和霍夫變實現車道線檢測方法
Canny邊緣檢測+霍夫變換 顏色閾值+圖像掩模的方法雖然簡單,但是只能應對一些固定顏色車道線的場景。圖像像素受光照影響將是一個極其常見的問題。 canny邊緣
評論