這是自動駕駛的系列文章。自動駕駛的第一步是什麼呢?固然,是識別當前環境,具體來講就是識別本身的正確道路-車道線,入下圖所示python
彩色的圖是無法識別出車道線的,因此咱們須要把他轉化爲黑白的圖像,入下圖所示oop
你們知道,咱們的圖像都是由RGB三原色組成的,分別是0-255,因此,咱們只要對非白色的作出處理,把他變成黑色便可,用僞碼錶示優化
loop 讀取圖像中的每個像素 像素RGB < 閥值 #純白是255,255,255 該像素 = 黑色 end loop
固然,簡簡單單的識別出道路是不行的,咱們還須要在原圖中疊加道路,如上圖所示,主要是一些裁剪合併之類的動做了。spa
以前的車道線都是白的,因此挺好作的,可是很不幸的是,車道並不是都是白的,咱們極可能遇到其它顏色的,並且有時候並不完整,以下圖所示,因此咱們須要其它的方法,好比說「邊緣發現」code
python提供了一個包,openCV,咱們可使用這個包來協助開發,在開發過程當中還須要進行一些處理,其僞碼以下orm
1 將整個圖像轉爲灰度圖,畢竟不須要那麼多豐富的顏色 2 進行簡單的高斯模糊:GaussianBlur,以減小照片噪聲和細節 3 進行邊緣發現
最終咱們會得出以下圖所示的結果ip
進行邊緣發現以後識別出車道線,如何識別車道線呢?車道線實際上在圖像中表現爲一條直線,因此咱們的目標就是識別出長直線,因此,咱們的目標就是識別出長直線的模式。開發
咱們會用到一種叫作Hough Transform的方法,它是在1962有Hough發明的,它會把 y=mx+b映射成 b=xm+y,將直線變換成點,而後進行識別,以下圖所示,車道線是一條路it
而後把這條路映射成點form
以方便識別
進行Hough Transfom後會變成這個樣子
然後咱們進行優化,好了後會變成這樣
這樣,咱們就成功的識別出了車道線
(完)