一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何通過計算機視覺去識別車道線

深度學(xué)習(xí)實戰(zhàn) ? 2018-01-15 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

因為種種原因?qū)е律蟼€月沒有更新推文,所以特此發(fā)此推文表示歉意。

今天介紹的是如何通過計算機視覺去識別車道線,其實現(xiàn)在也有各種方法去識別車道線了。這次是基于Matlab的實現(xiàn),過幾天會更新Python版本的實現(xiàn),雖然用的語言不一樣,但是原理都是一樣的。

預(yù)處理

攝像機獲得的視頻圖像,由于受到周圍環(huán)境的影響,存在著很多無用信息和各種各樣的噪聲干擾。為了準(zhǔn)確的檢測到道路線必須對圖像進(jìn)行預(yù)處理。首先,通過灰度化處理將原始彩色圖像轉(zhuǎn)換為灰色圖像,然后采用大小為5*5的模板進(jìn)行高斯濾波平滑處理,減小噪聲干擾。高斯濾波的具體操作是:用一個模板(或稱卷積、掩模)掃描圖像中的每一個像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點的值。

若使用3×3模板,則計算公式如下

g(x,y)={f(x-1,y-1)+f(x-1,y+1)+f(x+1,y-1)+f(x+1,y+1)+[f(x-1,y)+f(x,y- 1)+f(x+1,y)+f(x,y+1)]*2+f(x,y)*4}/16;

其中,f(x,y)為圖像中(x,y)點的灰度值,g(x,y)為該點經(jīng)過高斯濾波后的值

由于天空并不存在車道的感興趣區(qū)域,所以對圖片進(jìn)行了劃分,將感興趣區(qū)域劃為一個三角形區(qū)域。如圖1。

圖一

預(yù)處理代碼如下:

%讀入RGB圖片

I=imread('IMG00061.jpg');

%把RGB圖轉(zhuǎn)換為灰度圖

I=rgb2gray(I);

%高斯濾波平滑處理

sigma = 1;

gausFilter =fspecial('gaussian', [5,5], sigma);

gaus= imfilter(I, gausFilter,'replicate');

%得到圖片的寬和高

[h, w]=size(I);

%k是直線的斜率

%找出圖片的感興趣區(qū)域

k = 1.3;

for y=1:h

for x=1:w

if y < x*k + h-k*w || y < -k*x +h

I(y, x) = 0;

end

end

end

邊緣檢測

由于車道線的灰度比路面更加明亮,以此可以用邊緣檢測的方法把車道的邊緣檢測出來。在邊緣檢測中,我用了‘Sobel’算子。在技術(shù)上,它是一離散性差分算子,用來運算圖像亮度函數(shù)的灰度之近似值。在圖像的任何一點使用此算子,將會產(chǎn)生對應(yīng)的灰度矢量或是其法矢量

Sobel卷積因子為:

該算子包含兩組3x3的矩陣,分別為橫向及縱向,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。如果以A代表原始圖像,Gx及Gy分別代表經(jīng)橫向及縱向邊緣檢測的圖像灰度值,其公式如下:

如何通過計算機視覺去識別車道線

圖像的每一個像素的橫向及縱向灰度值通過以下公式結(jié)合,來計算該點灰度的大?。?/p>

通常,為了提高效率使用不開平方的近似值:

所得到的結(jié)果如圖2:

圖2

霍夫變換直線檢測

有了邊緣檢測的二值圖后可以對圖像進(jìn)行霍夫變換,霍夫變換是圖像變換中的經(jīng)典手段之一,主要用來從圖像中分離出具有某種相同特征的幾何形狀(如,直線,圓等)?;舴蜃儞Q的原理是將特定圖形上的點變換到一組參數(shù)空間上,根據(jù)參數(shù)空間點的累計結(jié)果找到一個極大值對應(yīng)的解,那么這個解就對應(yīng)著要尋找的幾何形狀的參數(shù)(比如說直線,那么就會得到直線的斜率k與常數(shù)b,圓就會得到圓心與半徑等等)。經(jīng)過霍夫變換后可得到如圖3關(guān)于ρ和θ的圖。

圖3

圖中最亮的幾個點則為峰值,峰值中極有可能存在直線。可以選出一組候選的峰值,然后決定線的起始點和終點。函數(shù)houghlines用默認(rèn)的語法執(zhí)行這個任務(wù):

lines = houghlines(f, theta,rho, peaks)

或者使用完整的語法形式:

lines = houghlines(...,'FillGap', val1, 'MinLength', val2)

其中,theta和rho是來自函數(shù)hough的輸出,peaks是函數(shù)houghpeaks的輸出。

效果

為了美觀和效果,我對檢測出來的線段進(jìn)行了延長處理,效果如下圖4。

圖4

完整代碼如下:

clear

close all

%讀入RGB圖片

I=imread('IMG00061.jpg');

%把RGB圖轉(zhuǎn)換為灰度圖

I=rgb2gray(I);

%高斯濾波平滑處理

sigma = 1;

gausFilter = fspecial('gaussian', [5,5], sigma);

gaus= imfilter(I, gausFilter, 'replicate');

%得到圖片的寬和高

[h, w]=size(I);

%k是直線的斜率

%切圖,找出圖片的感興趣區(qū)域

k = 1.3;

for y=1:h

for x=1:w

if y < x*k + h-k*w || y < -k*x + h

I(y, x) = 0;

end

end

end

imshow(I)

%用Sobel算子做邊緣檢測

BW = edge(I,'sobel');

%霍夫變換

[H,T,R] = hough(BW);

imshow(H,[],'XData',T,'YData',R, 'InitialMagnification','fit');

xlabel(' heta'), ylabel(' ho');

axis on, axis normal, hold on;

%找出霍夫變換的峰值

P = houghpeaks(H,2);

%用霍夫變換檢測和連接線

lines = houghlines(BW,T,R,P);

figure;

imshow(I); hold on

%畫線

for k = 1:length(lines)

p1 = lines(k).point1;

p2 = lines(k).point2;

syms slope b

[b, slope] = solve(slope*p1(1)-p1(2)+b, slope*p2(1)-p2(2)+b);

plot([(h-b)/slope, (0.4*h-b)/slope], [h, 0.4*h], 'g-', 'LineWidth',3);

end

代碼中用到的圖片:

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

    關(guān)注

    189

    文章

    3001

    瀏覽量

    234186
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70783
  • 計算機視覺
    +關(guān)注

    關(guān)注

    9

    文章

    1709

    瀏覽量

    46786

原文標(biāo)題:項目實戰(zhàn) | 車道線檢測與定位

文章出處:【微信號:gh_a204797f977b,微信公眾號:深度學(xué)習(xí)實戰(zhàn)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    什么是計算機視覺?計算機視覺的三種方法

    計算機視覺是指通過計算機賦予人類視覺這一技術(shù)目標(biāo),從而賦能裝配檢查到駕駛輔助和機器人等應(yīng)用。
    的頭像 發(fā)表于 11-16 16:38 ?5606次閱讀
    什么是<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>?<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>的三種方法

    基于OpenCV的計算機視覺技術(shù)實現(xiàn)

    基于OpenCV的計算機視覺技術(shù)實現(xiàn)OpencV是用來實現(xiàn)計算機視覺相關(guān)技術(shù)的開放源碼工作庫,是計算機
    發(fā)表于 11-23 21:06 ?0次下載
    基于OpenCV的<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>技術(shù)實現(xiàn)

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

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

    AI新聞:計算機視覺和模式識別會議

    了解和注冊計算機視覺和模式識別會議(CVPR 2018)!
    的頭像 發(fā)表于 11-05 06:14 ?3383次閱讀

    計算機視覺與機器視覺區(qū)別

     “計算機視覺”,是指用計算機實現(xiàn)人的視覺功能,對客觀世界的三維場景的感知、識別和理解。計算機
    的頭像 發(fā)表于 12-08 09:27 ?1.3w次閱讀

    計算機視覺常用算法_計算機視覺有哪些分類

    本文主要介紹了計算機視覺常用算法及計算機視覺的分類。
    的頭像 發(fā)表于 07-30 17:34 ?1.4w次閱讀

    剖析計算機視覺識別簡史

    最近,物體識別已經(jīng)成為計算機視覺和 AI 最令人激動的領(lǐng)域之一。即時地識別出場景中所有的物體的能力似乎已經(jīng)不再是秘密。隨著卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的發(fā)展,以及大型訓(xùn)練數(shù)據(jù)集和高級
    的頭像 發(fā)表于 04-30 10:14 ?3126次閱讀
    剖析<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b>簡史

    基于計算機視覺的客機艙門識別與定位方法

    基于計算機視覺的客機艙門識別與定位方法
    發(fā)表于 06-22 16:37 ?42次下載

    模式識別計算機視覺手冊

    模式識別計算機視覺手冊免費下載。
    發(fā)表于 06-24 10:02 ?3次下載

    計算機視覺識別是如何工作的?

    計算機視覺識別是一種人工智能技術(shù),旨在使計算機系統(tǒng)從數(shù)字圖像、視頻等視覺信息中識別和提取有意義信
    的頭像 發(fā)表于 02-09 13:41 ?5044次閱讀

    計算機視覺中手語識別研究

    計算機視覺中手語識別研究 手語識別的目的就是通過計算機提供一種有效的、準(zhǔn)確的機制將聾啞人常用的手
    的頭像 發(fā)表于 04-14 16:11 ?1537次閱讀

    計算機視覺是什么 計算機視覺歷史及發(fā)展趨勢

    正像其它學(xué)科一樣,一個大量人員研究了多年的學(xué)科,卻很難給出一個嚴(yán)格的定義,模式識別如此,目前火熱的人工智能如此,計算機視覺亦如此。與計算機視覺
    發(fā)表于 07-20 15:41 ?2次下載

    機器視覺計算機視覺的區(qū)別

    機器視覺計算機視覺的區(qū)別 機器視覺計算機視覺是兩個相關(guān)但不同的概念。雖然許多人使用這兩個術(shù)語
    的頭像 發(fā)表于 08-09 16:51 ?2510次閱讀

    人工智能計算機視覺方向是什么

    ”并作出決策。 計算機視覺是人工智能領(lǐng)域的一大分支,是以計算機和數(shù)字圖像處理技術(shù)為手段,通過視覺信息的處理和分析來實現(xiàn)人工智能的各類應(yīng)用。
    的頭像 發(fā)表于 08-15 16:06 ?2085次閱讀

    計算機視覺屬于人工智能嗎

    屬于,計算機視覺是人工智能領(lǐng)域的一個重要分支。 引言 計算機視覺是一門研究如何使計算機具有視覺
    的頭像 發(fā)表于 07-09 09:11 ?2216次閱讀