国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenCV圖像處理的智能小車戶外尋跡算法的設(shè)計(jì)

2018-09-27 20:35:24張伊
中國信息化 2018年9期
關(guān)鍵詞:分界線霍夫圖像處理

張伊

智能尋跡機(jī)器人通過計(jì)算機(jī)編程可實(shí)現(xiàn)無人為干預(yù)的情況下在特定環(huán)境中自主行駛,是智能機(jī)器人領(lǐng)域內(nèi)非常重要的且被廣泛研究的智能移動(dòng)裝置。對于智能尋跡的實(shí)現(xiàn)目前有兩種基本途徑,一種是基于硬件即利用各類傳感器判斷方位和距離;而另一種則是基于軟件即通過圖像處理算法實(shí)現(xiàn)實(shí)時(shí)尋跡。在圖像處理過程中Canny邊緣檢測算法是普遍運(yùn)用的方法,但單一使用只對簡單的室內(nèi)尋跡任務(wù)有效;對于戶外尋跡中復(fù)雜的環(huán)境信息和不清楚的邊緣信息,還需進(jìn)行HSV通道分離預(yù)處理。

一、HSV通道分離處理

(一)HSV空間的概念

HSV (Hue, Saturation, Value) 是A.R.Smith根據(jù)顏色的直觀特征創(chuàng)造的顏色空間,可用六角錐體模型( Hexcone Model)來表示,如圖1所示。HSV表示的參數(shù)分別為:色調(diào)(H),飽和度(S), 亮度(V)。

色調(diào)(H)是人們對色彩的感知中最顯著、最直觀的一方面,用角度度量,對應(yīng)上圖中的圓心角,取值范圍為0°至360°,紅綠藍(lán)分別相隔120°,互補(bǔ)色分別相差180°。飽和度(S)表示色彩的純度,取值范圍是0.0至1.0,對應(yīng)上圖的半徑值。亮度(V)表示色彩的明暗程度,取值范圍為0.0(黑色)至1.0(白色),對應(yīng)上圖中的縱軸。

(二)RGB空間轉(zhuǎn)換為HSV空間

傳統(tǒng)的RGB色彩模型可分辨的色差是非線性的,相比而言HSV通道更加直觀和接近人的視覺經(jīng)驗(yàn),因此在圖像檢索中經(jīng)常將圖像從RGB空間轉(zhuǎn)換到HSV空間,變換的公式如下:

在OpenCV中,圖像由RGB空間轉(zhuǎn)到HSV空間可用CvtColor函數(shù)實(shí)現(xiàn)。

(三)HSV通道分離用于圖像過濾

OpenCV下split函數(shù)可用于將圖像分解成H, S和V三通道,并可以顯示每個(gè)像素的H,S和V值。在圖像二值化的過程中,通過對圖像的HSV各通道設(shè)置閾值(如將飽和度S值在20至255之間的像素點(diǎn)顯示為白色,即在二值化中處理為0)來過濾掉圖中不重要的部分,而只留下有用的部分。在巡線任務(wù)中,HSV濾波器要濾掉中央線以外的線條。

二、在尋跡任務(wù)中實(shí)用性較高的圖像處理方法

(一)圖像膨脹(Dilate)

膨脹是OpenCV提供的一種基本的形態(tài)學(xué)操作,通常用于消除二值化后圖像的椒鹽噪聲。圖像中的邊緣向外部擴(kuò)張以填補(bǔ)圖像中的空洞,從而消除纖細(xì)且不重要的噪聲。在OpenCV中Dilate函數(shù)可實(shí)現(xiàn)此操作。

(二)Canny邊緣檢測算子

Canny邊緣檢測算子是由John F. Canny于1986年首次在論文《A Computational Approach to Edge Detection》中提出的一個(gè)多級邊緣檢測算法。這種算法可以實(shí)現(xiàn)從不同的視覺對象中提取有用的結(jié)構(gòu)信息以減少數(shù)據(jù)處理量,目前已廣泛應(yīng)用于各種計(jì)算機(jī)視覺系統(tǒng)的開發(fā)。邊緣檢測的一般標(biāo)準(zhǔn)包括:

好的檢測——盡可能多地標(biāo)識(shí)出實(shí)際的邊緣;

好的定位——標(biāo)識(shí)出的邊緣應(yīng)精確定位在實(shí)際邊緣的中心;

最小響應(yīng)——圖像中的邊緣只能標(biāo)記一次,且不因圖像噪聲而產(chǎn)生假邊緣。

在目前常用的邊緣檢測方法中,Canny邊緣檢測算法是具有嚴(yán)格定義的, 可以提供良好可靠檢測的方法之一。由于它具有滿足邊緣檢測的三個(gè)標(biāo)準(zhǔn)和實(shí)現(xiàn)過程簡單的優(yōu)勢,成為邊緣檢測最流行的算法之一。

Canny 邊緣檢測算法可分為以下五個(gè)步驟:

使用高斯濾波器以平滑圖像,濾除噪聲;

計(jì)算圖像中每個(gè)像素點(diǎn)的梯度強(qiáng)度和方向;

應(yīng)用非極大值(Non-Maximum Suppression)抑制,以消除邊緣檢測帶來的雜散響應(yīng);

應(yīng)用雙閾值(Double-Threshold)檢測來確定真實(shí)和潛在的邊緣;

通過抑制孤立的弱邊緣最終完成邊緣檢測。

(三)霍夫直線檢測 (Hough Line Detection)

霍夫變換(Hough Transform)于1962年由Paul Hough 首次提出,是圖像處理中一種特征提取技術(shù),通過投票算法檢測具有特定形狀的物體,其中經(jīng)典霍夫變換用來檢測圖像中的直線。

Hough直線檢測的基本原理在于利用點(diǎn)與線的對偶性。若選取笛卡爾坐標(biāo)系為原始圖像空間,極坐標(biāo)系ρ-θ為參數(shù)空間,則圖像空間中的點(diǎn)(x0,y0)對應(yīng)參數(shù)空間中的一條正弦曲線ρ=x0cosθ+y0sinθ。若圖窗中的像素構(gòu)成一條直線,那么這些像素坐標(biāo)值(xi,yi)在參數(shù)空間對應(yīng)的曲線一定相交于一個(gè)點(diǎn),所以只需要將圖像中的所有像素點(diǎn)(坐標(biāo)值)變換成參數(shù)空間的曲線,并在參數(shù)空間檢測曲線交點(diǎn)就可以確定直線了。在此參數(shù)空間的ρ和θ坐標(biāo)都被離散化使交點(diǎn)坐標(biāo)為有限個(gè),檢測落在每個(gè)網(wǎng)格單元上的焦點(diǎn)個(gè)數(shù)是否超過閾值來確定該單元格對應(yīng)的坐標(biāo)(ρ0,θ0)能否對應(yīng)圖像空間中的一條直線。

在OpenCV下標(biāo)準(zhǔn)霍夫變換可通過Houghlines函數(shù)實(shí)現(xiàn)。

三、智能小車戶外尋跡算法的實(shí)現(xiàn)

即將被檢測道路的原始圖像如圖3.1所示,是一種很普通的由左右兩種材料組成的戶外路面,小車應(yīng)從左圖中黑箭頭處出發(fā)沿虛線箭頭所指軌跡行走,研究的目標(biāo)是利用OpenCV下的編程從而識(shí)別出兩種地面材料的分界線以完成尋跡任務(wù),使智能小車沿分界線行走。完整的道路包括部分直線和四處轉(zhuǎn)彎,如圖3.2 所示。在這種戶外環(huán)境中困難的是兩種路面沒有很清晰的顏色差別且由于地面的凹凸不平而形成很多陰影,這導(dǎo)致若直接在二值化的圖像上使用Canny算法會(huì)產(chǎn)生很多噪聲,以至于無法形成穩(wěn)定的霍夫直線確定車的行走方向。

在本項(xiàng)目中智能小車用Python編程實(shí)現(xiàn)圖像處理部分,其總流程如圖3.3所示。

(一)步驟一:利用HSV通道過濾圖像中的干擾和噪聲

首先分別檢測圖窗中左側(cè)道路和右側(cè)道路的HSV值,結(jié)果如圖3.4a和3.4b所示。左側(cè)道路和右側(cè)道路有不同的H值和S值,但由于它們各自的S值較為穩(wěn)定,因此我們使用S通道來區(qū)分道路的左右側(cè)。

通過調(diào)整S通道的閾值,我們可以得到不同的濾波結(jié)果,如圖3.5a-3.5d所示。

圖3.5d呈現(xiàn)的處理效果已經(jīng)大體將左右路面區(qū)分為黑白區(qū)域,然而由于磚塊交界處的溝痕顏色更深,在處理后的圖像中呈白色,接下來將再通過HSV閾值去掉這些溝痕以及地面上深色的水漬。由于溝痕顏色明顯暗于灰色路面,使用亮度(Value)值來過濾溝痕,對于閾值的嘗試結(jié)果如圖3.6a-3.6c所示。

圖3.6中的濾波效果已經(jīng)達(dá)到去除溝痕的目的,用同種閾值也可以濾掉地面的水漬,結(jié)果展示如圖3.7。

上述過程已將圖窗基本清晰地分為左右兩部分,突出了在巡線任務(wù)中唯一需要關(guān)注的左右分界線的形狀。用HSV通道濾波來實(shí)現(xiàn)圖像的二值化以及噪聲的去除大大增加了后續(xù)過程的準(zhǔn)確度和穩(wěn)定性,對霍夫線的形成有至關(guān)重要的作用。

(二)步驟二:利用膨脹(Dilation)算法去除椒鹽噪聲

雖然圖像已經(jīng)基本實(shí)現(xiàn)道路的左右區(qū)分,但為了更加突出分界線應(yīng)使左側(cè)道路全部變成白色。膨脹算法是OpenCV的庫函數(shù),在此用于將左半部離散的白色像素點(diǎn)擴(kuò)大并互相粘連,使左半部圖窗全部被白色填滿,效果如圖3.8所示。至此圖窗的左右兩部分已經(jīng)清晰分割,這為后續(xù)方向線的形成提供了充足的準(zhǔn)備。

(三)步驟三:利用Canny邊緣檢測算子提取分界線

在得到以上的結(jié)果后,Canny邊緣檢測方程用于描出兩種顏色區(qū)域的分界線,此方程將返回一個(gè)僅邊界處位置為1其余位置為0的二值矩陣,即僅將邊界線顯示為白色。如圖3.9所示,在右側(cè)處理完的圖像中,僅中間的分界線保留下來。

(四)步驟四:高斯模糊(Gaussian Blur)的使用由于程序要求至少120個(gè)連續(xù)像素點(diǎn)點(diǎn)才會(huì)生成霍夫直線,因此需要預(yù)先使用高斯模糊方程以壓縮分界線,消除分界線上的不連續(xù)點(diǎn),從而得到更平滑的曲線。高斯模糊的結(jié)果如圖3.10所示。

(五)步驟五:利用霍夫直線檢測來生成方向線

這條更平滑的曲線可被霍夫直線檢測方程所辨認(rèn)。代碼要求檢測到120個(gè)連續(xù)像素點(diǎn)生成一條霍夫直線,此直線的坐標(biāo)將會(huì)以極坐標(biāo)表示,即方程返回的直線的坐標(biāo)參數(shù)為r和θ,其中r表示原點(diǎn)到該直線的垂線段長度,θ表示垂線段與x軸的夾角。最后,我們可以利用霍夫變換方程計(jì)算所檢測邊緣直線的斜率k和截距長度L,并將其用于后續(xù)的PID控制環(huán)節(jié)決定小車的行進(jìn)方向。添加過霍夫直線的效果圖如圖3.11-3.12所示。

本文介紹的小車尋跡算法設(shè)計(jì)過程是基于對攝像頭畫面的圖像處理以實(shí)現(xiàn)識(shí)別圖窗中的分界線,并生成方向線的過程。先利用HSV色彩通道對圖像濾波,再利用OpenCV的圖像膨脹、Canny邊緣檢測和高斯模糊等庫函數(shù)提取圖像中的分界線,最后用霍夫直線檢測函數(shù)生成方向線并計(jì)算斜率和截距,從而實(shí)現(xiàn)了通過圖像處理準(zhǔn)確、快速地判斷行走方向。該過程編程簡單、易于實(shí)現(xiàn),對運(yùn)用圖像處理解決尋跡問題有借鑒價(jià)值。然而對于各個(gè)庫函數(shù)的閾值設(shè)置目前只停留于多次嘗試數(shù)據(jù),對于不同的環(huán)境需要調(diào)整。

猜你喜歡
分界線霍夫圖像處理
冰山與氣候變化
中外文摘(2022年8期)2022-05-17 09:13:36
世界之巔的花園——庫肯霍夫
中老年保健(2021年4期)2021-08-22 07:10:04
神回復(fù)
意林(2020年7期)2020-04-27 08:31:12
機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:20
模糊圖像處理,刑事偵查利器
圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
余有畫說
基于霍夫變換的銘牌OCR圖像旋轉(zhuǎn)矯正方法
電測與儀表(2015年8期)2015-04-09 11:50:28
基于霍夫變換的簡單手繪表情的智能識(shí)別
河南科技(2014年12期)2014-02-27 14:10:40
Photo Shop通道在圖像處理中的應(yīng)用
河南科技(2014年1期)2014-02-27 14:04:06
香格里拉县| 松滋市| 惠州市| 龙州县| 竹山县| 宣武区| 浪卡子县| 福泉市| 柘荣县| 安岳县| 曲阳县| 分宜县| 左贡县| 柯坪县| 长治县| 宜丰县| 延津县| 綦江县| 云南省| 垫江县| 邻水| 大渡口区| 龙里县| 资源县| 老河口市| 威海市| 辽阳县| 黔东| 郓城县| 兰西县| 双流县| 奉化市| 德江县| 龙江县| 桑植县| 荔波县| 时尚| 玉环县| 平原县| 驻马店市| 义乌市|