亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OpenCV的目標(biāo)物體顏色及輪廓的識(shí)別方法

        2014-12-18 18:36:12侯賓張文志戴源成田洪強(qiáng)
        現(xiàn)代電子技術(shù) 2014年24期

        侯賓+張文志+戴源成+田洪強(qiáng)

        摘 ?要: 針對(duì)機(jī)器人視覺中對(duì)目標(biāo)物體的拾取問題,提出一種基于OpenCV函數(shù)對(duì)從攝像頭輸入的目標(biāo)物體的顏色及輪廓進(jìn)行有效識(shí)別的方法。首先利用攝像頭讀取目標(biāo)物體及周圍環(huán)境,經(jīng)一系列圖像處理后進(jìn)行目標(biāo)物體的顏色識(shí)別,在此基礎(chǔ)上進(jìn)行Canny邊緣檢測(cè)并查找輪廓,最后將輪廓顯示。結(jié)果表明,該實(shí)驗(yàn)程序可以很好地完成對(duì)目標(biāo)物體的顏色及輪廓提取,且有效地避免了目標(biāo)物體周圍相近顏色的干擾。

        關(guān)鍵詞: 機(jī)器人視覺; 顏色識(shí)別; 輪廓識(shí)別; Canny邊緣檢測(cè)

        中圖分類號(hào): TN919?34; TP391 ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2014)24?0076?04

        Method of objects color and contour recognition based on OpenCV

        HOU Bin, ZHANG Wen?zhi, DAI Yuan?cheng, TIAN Hong?qiang

        (Inner Mongolia University of Technology, Huhhot 010051, China)

        Abstract: Aiming at the problem of recognizing the target object in robot visual, a way based on OpenCV is proposed, which can effectively recognize the color and the contour of ?the objects from the camera. The target object and its surrounding environment are read out by camera, and then the color of the object is recognized after a series of image processing. On the basis of this, the Canny edge detection is carried on, and the contour is determined and displayed. The results show that the expe?

        rimental procedure can complete the extraction of target objects' color and contour perfectly, and avoid the interference of similar color around objects effectively.

        Keywords: robot vision; color recognition; contour recognition; Canny edge detection

        0 ?引 ?言

        機(jī)器人視覺是機(jī)器人感知外部世界的重要媒介,也是未來機(jī)器人傳感器發(fā)展的主流方向。機(jī)器人視覺通過視覺傳感器獲取環(huán)境的圖像數(shù)據(jù),并通過軟件進(jìn)行圖像的分析和理解,使機(jī)器人能夠辨識(shí)目標(biāo)物體及確定其位置[1]。隨著機(jī)器人技術(shù)的快速發(fā)展及其在工業(yè)、醫(yī)學(xué)、軍事等領(lǐng)域的廣泛應(yīng)用,機(jī)器人視覺技術(shù)取得了快速發(fā)展,對(duì)機(jī)器人靈敏感知周圍環(huán)境的能力要求也不斷提高[2]。對(duì)目標(biāo)物體的精確識(shí)別問題是機(jī)器人視覺中最基本的環(huán)節(jié),而顏色識(shí)別和輪廓識(shí)別又是進(jìn)行其他深入研究的基礎(chǔ)。目前在這方面的主要應(yīng)用是單一的對(duì)顏色或輪廓的提取。

        基于上述情況,本文提出了基于OpenCV函數(shù)庫,對(duì)攝像頭取景范圍內(nèi)目標(biāo)物體顏色及輪廓共同精確提取的方法。利用OpenCV函數(shù)庫中提供的函數(shù),對(duì)目標(biāo)物體首先進(jìn)行各種圖像學(xué)方面的預(yù)處理以使得到的圖像符合實(shí)驗(yàn)要求,然后利用閾值調(diào)節(jié)進(jìn)行顏色識(shí)別,最后在顏色識(shí)別的基礎(chǔ)上進(jìn)行邊緣檢測(cè)及輪廓識(shí)別。

        1 ?OpenCV簡(jiǎn)介

        OpenCV是由Intel公司資助的開源計(jì)算機(jī)視覺庫,它由一系列C函數(shù)和少量C ++類所組成,可實(shí)現(xiàn)圖像處理和計(jì)算機(jī)視覺方面的很多通用算法,例如特征檢測(cè)與跟蹤、運(yùn)動(dòng)分析、目標(biāo)分割與識(shí)別以及3D重建等[3?4]。由于OpenCV的源代碼是完全開放的,而且源代碼的編寫簡(jiǎn)潔而又高效,所以近年來在國內(nèi)外的圖像處理相關(guān)領(lǐng)域中被廣泛地使用,成為一種流行的圖像處理函數(shù)庫。本實(shí)驗(yàn)是在Windows XP系統(tǒng)下基于OpenCV 1.0版本及VC++ 6.0環(huán)境下實(shí)現(xiàn)的。

        2 ?顏色空間的選取

        顏色空間的用途是在某些標(biāo)準(zhǔn)下用通??山邮艿姆绞綄?duì)彩色加以說明。常用的顏色空間有RGB,CMY,HSV,HSI等。本文采用的顏色空間為RGB和HSV[5]。

        RGB(紅、綠、藍(lán))如圖1所示,可將R,G,B看成一個(gè)三維的坐標(biāo)系,其中每一個(gè)坐標(biāo)點(diǎn)都代表了一種顏色。HSV顏色空間,如圖2所示。Hue表示的是顏色,通常使用一個(gè)帶有角度的圓形表示。Saturation表示的是飽和度,在圓心處的取值是0,表示顏色很淡,沿著圓的半徑方向增大顏色越來越濃。Value表示的是顏色的亮度,在圓錐的底端Value表示的是黑色,在頂端是白色。在實(shí)際中,RGB顏色表示容易受到強(qiáng)光,弱光,陰影等因素的影響。相比之下,HSV空間面對(duì)這些光照的變化更穩(wěn)定一些,能很好地反應(yīng)顏色的本質(zhì)。

        本實(shí)驗(yàn)采用普通CCD攝像頭讀入RGB顏色,再將RGB顏色轉(zhuǎn)換為HSV顏色。在OpenCV中RGB轉(zhuǎn)換到HSV時(shí),對(duì)Hue通道的存儲(chǔ)是用一個(gè)字節(jié)(8位)來表示,取值為[0,255],而Hue的取值[0,360],故需將Hue取值壓縮一倍為[0,180]。其余兩個(gè)量的取值為[0,255]。

        3 ?算法實(shí)現(xiàn)

        如圖3所示為整個(gè)算法的大體流程圖。

        3.1 ?圖像獲取及預(yù)處理

        利用普通CCD攝像頭獲取周圍環(huán)境圖像,對(duì)獲取的圖像進(jìn)行平滑濾波處理[6]:

        (1) 進(jìn)行高斯濾波處理。由于高斯濾波器是一個(gè)低通濾波器故適合進(jìn)行平滑濾波處理,相對(duì)于均值濾波它的平滑效果更柔和,而且邊緣保留得也更好。

        高斯濾波函數(shù):cvSmooth( src,dst,CV_GAUSSIAN,3,3,0,0)。src為輸入的源圖像,dst為輸出的圖像。由于真實(shí)圖像在空間內(nèi)的像素是緩慢變化的,鄰近點(diǎn)的像素變化不會(huì)很明顯,但是隨機(jī)的兩個(gè)點(diǎn)就可能形成很大的像素差(也就是說空間上噪聲點(diǎn)不是相互聯(lián)系的),正是基于這一點(diǎn),高斯濾波在保留信號(hào)的條件下減少了噪聲[3]。

        (2) 中值濾波器(CV_MEDIAN)將中心像素的正方形鄰域內(nèi)的每個(gè)像素值用中間像素值替換?;谄骄惴ǖ膕imple blur對(duì)噪聲圖像特別是有大的孤立點(diǎn)的圖像非常敏感,即使有少量點(diǎn)存在較大差異也會(huì)導(dǎo)致平均值的明顯波動(dòng),因此中值濾波可以通過選擇中間值避免這些點(diǎn)的影響[7]。

        中值濾波函數(shù):cvSmooth( src,dst,CV_MEDIAN,3,3,0,0)。

        基于兩種濾波器各自的特點(diǎn)及互補(bǔ)的特性故在程序中同時(shí)使用了這兩種濾波函數(shù)以使得到的圖像更平滑從而減少噪聲影響。

        3.2 ?顏色空間轉(zhuǎn)換及圖像通道的分離

        由于HSV顏色空間相比于RGB顏色空間的優(yōu)越性,故將RGB轉(zhuǎn)化為HSV。

        RGB到HSV的數(shù)學(xué)轉(zhuǎn)換函數(shù)如下所示:

        [k1=max{r,g,b},k2=min{r,g,b};v=k1255] (1)

        [s=0, ? ? ? ? ? ? ? ? ? ? k1=0(k1-k2)k1, ? ? k1≠0] (2)

        [h=(0+g-bk1-k2)×60, ? ? ? s≠0,k1=r(2+b-rk1-k2)×60, ? ? ? s≠0,k1=g(4+r-gk1-k2)×60, ? ? ? s≠0,k1=bundefined, ? ? ? ? ? ? ? ? ? s=0] (3)

        式中:r,g,b為RGB顏色空間中紅色、綠色、藍(lán)色3個(gè)分量的值;h,s,v為HSV顏色空間中色度、飽和度、亮度的值。采用下列函數(shù)實(shí)現(xiàn)RGB到HSV轉(zhuǎn)換:cvCvtColor(src,dst,CV_BGR2HSV)。

        接下來對(duì)得到的HSV圖像進(jìn)行通道分離,分離為3個(gè)單通道圖像,分別為H(色度通道圖像)、S(飽和度通道圖像)及V(亮度通道圖像)。采用如下函數(shù)實(shí)現(xiàn):cvCvtPixToPlane(src,H,S,V,0)。

        3.3 ?創(chuàng)建滑動(dòng)條及閾值化處理

        創(chuàng)建滑動(dòng)條的目的是返回所想要的顏色參數(shù)閾值。本實(shí)驗(yàn)設(shè)定了6個(gè)調(diào)節(jié)參數(shù)LowHue(色度下限值)、HighHue(色度上限值)、LowSaturation(飽和度下限值)、HighSaturation(飽和度上限值)、LowBrightness(亮度下限值)、int HighBrightness(亮度上限值)。cvInRangeS( )函數(shù)用于檢查圖像中像素的灰度是否屬于某一指定范圍??梢酝ㄟ^接收滑動(dòng)條返回的各個(gè)閾值而得到目標(biāo)顏色的色度、飽和度和亮度單通道圖像。

        3.4 ?圖像生成及圖像形態(tài)學(xué)處理

        應(yīng)用“cvAnd()”函數(shù)對(duì)得到的三個(gè)單通道圖像進(jìn)行按位與運(yùn)算,最后得到檢測(cè)目標(biāo)的二值圖像。但是得到的圖像會(huì)出現(xiàn)噪聲,故接下來需對(duì)得到的圖像進(jìn)行圖像形態(tài)學(xué)處理。

        采用膨脹腐蝕的方法進(jìn)行處理得到的圖像,可以明顯去除或減少噪點(diǎn),使得到的目標(biāo)體進(jìn)行最大的連通。膨脹是指將一些圖像與核進(jìn)行卷積,求局部最大值的操作,數(shù)學(xué)公式為:

        [dst(x,y)=max{src(x+x′,y+y′)}] ?(4)

        [(x′,y′)∈kernel]

        式中: dst 為輸出圖像; src 為輸入源圖像; kernel 為用于腐蝕或膨脹的核結(jié)構(gòu)元素,本實(shí)驗(yàn)選取的核大小為3×3像素如圖4所示。

        腐蝕是膨脹的反操作。腐蝕操作要計(jì)算核區(qū)域像素的最小值。腐蝕的數(shù)學(xué)函數(shù)為:

        [dst(x,y)=min{src(x+x′,y+y′)}] ?(5)

        在OpenCV中膨脹采用的函數(shù)是“cvDilate()”,腐蝕函數(shù)為“cvErode()”。

        一般來說,膨脹擴(kuò)展了區(qū)域,而腐蝕縮小區(qū)域。膨脹可以填補(bǔ)凹洞,腐蝕能夠消除凸起。腐蝕操作通常是用來消除圖像中的“斑點(diǎn)”噪聲,可以將斑點(diǎn)腐蝕掉,且能確保圖像內(nèi)的較大區(qū)域依然存在。在試圖找到連通分支(即具有相似顏色或強(qiáng)度的像素點(diǎn)的大塊的互相分離的區(qū)域)時(shí)通常使用膨脹操作。故程序中采用先膨脹后腐蝕的方法可以有效的去除被檢測(cè)到物體的邊緣噪點(diǎn)及其他噪聲影響[8]。

        3.5 ?查找輪廓和繪制輪廓

        Canny邊緣檢測(cè)法是最常用到的進(jìn)行邊緣檢測(cè)的方法,其最重要的特點(diǎn)是試圖將獨(dú)立的候選像素拼裝成輪廓[9]。輪廓的形成是對(duì)這些像素運(yùn)用滯后性閾值,本實(shí)驗(yàn)所采用的上下限閾值比為3∶1。Canny 邊緣檢測(cè)算法是高斯函數(shù)的一階導(dǎo)數(shù),是對(duì)信噪比與定位精度之乘積的最優(yōu)化逼近算子[7]。

        Canny 算法(見圖5)首先用二維高斯函數(shù)的一階導(dǎo)數(shù), 對(duì)圖像進(jìn)行平滑, 設(shè)二維高斯函數(shù)為:

        [G(x,y)=12πσ2exp-x2+y22σ2] (6)

        其梯度矢量為:

        [?G=?G/?x?G/?y] (7)

        通過上式進(jìn)行平滑, 抑制圖像噪聲。其中σ為平滑參數(shù), σ較小時(shí), 邊緣定位精度高, 但圖像平滑作用較弱, 抑制噪聲的能力差;σ較大時(shí)則相反。梯度計(jì)算完成平滑后接下來進(jìn)行“非極大值抑制”細(xì)化梯度幅值矩陣,尋找圖像中的可能邊緣點(diǎn); 最后進(jìn)行“雙門限檢測(cè)”則是通過雙閾值遞歸尋找圖像邊緣點(diǎn), 實(shí)現(xiàn)邊緣提取[10]。

        實(shí)現(xiàn)Canny檢測(cè)的OpenCV函數(shù)是 cvCanny(src,dst,50,150,3),該函數(shù)需要輸入一幅灰度圖,輸出也是一幅灰度圖。進(jìn)行完邊緣檢測(cè)緊接著把圖像輸出給查找輪廓函數(shù)即“cvFindContours()”,從二值圖像中檢索輪廓,并返回檢測(cè)到的輪廓的個(gè)數(shù)。

        利用“cvDrawContours()”函數(shù)在屏幕上繪制檢測(cè)到的輪廓。繪制的屏幕圖像可以選擇源圖像。

        4 ?實(shí)驗(yàn)結(jié)果及分析

        根據(jù)上述算法思想和實(shí)現(xiàn)過程,在Windows XP系統(tǒng)中使用VC++ 6.0和OpenCV 1. 0 來實(shí)現(xiàn)目標(biāo)物體的顏色檢測(cè)及輪廓檢測(cè)實(shí)驗(yàn)。本文采用的是普通的CCD攝像頭,若采用分辨率更高的攝像頭其執(zhí)行后的效果會(huì)更好。

        圖6為從攝像頭直接讀取的視頻截圖,未經(jīng)OpenCV的函數(shù)處理。

        圖7為對(duì)一藍(lán)色目標(biāo)物體進(jìn)行顏色拾取,圖8為所需的色度、飽和度和亮度的閾值。通過調(diào)節(jié)所需的閾值可以有效的拾取目標(biāo)的顏色。目標(biāo)物體與背景的顏色較為相近,用實(shí)驗(yàn)中的算法可以有效的區(qū)分目標(biāo)體與背景。

        圖9為在拾取顏色的前提下進(jìn)行輪廓的拾取,可以看出輪廓能夠很精確地識(shí)別出,由于是先拾取顏色所以可以將其他顏色的物體區(qū)別開。根據(jù)顏色進(jìn)行輪廓提取可以很好的避免與目標(biāo)物體輪廓相近的物體的影響。

        圖10~圖12為在同一視頻流中對(duì)另外的紅色物體進(jìn)行拾取,可以看到目標(biāo)物體中的紅色斑點(diǎn)可以很好的拾取出來。最后在顏色拾取的基礎(chǔ)上輪廓也很好的拾取了。背景中的桌面發(fā)黃色,在色度中黃色的閾值范圍緊挨著紅色的閾值范圍,但通過實(shí)驗(yàn)效果可以看出,紅色和黃色完全可以區(qū)分且根本沒有影響。

        以上兩組截圖為來自同一攝像頭的視頻流輸入,從實(shí)驗(yàn)結(jié)果截圖可以看出該程序較好的拾取了目標(biāo)物體的顏色及輪廓,對(duì)顏色的獲取結(jié)果令人滿意,基本可以去除周圍其他相近顏色的干擾。

        5 ?結(jié) ?論

        采用OpenCV開發(fā)的目標(biāo)物體顏色及輪廓識(shí)別程序可以得到比較理想的實(shí)驗(yàn)效果。采用此設(shè)計(jì)的算法復(fù)雜度并不高,易于實(shí)現(xiàn),加上OpenCV庫設(shè)計(jì)高效率性,可以快捷地實(shí)現(xiàn)圖像的處理。

        實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的目標(biāo)物體顏色及輪廓同時(shí)精確識(shí)別的程序具有較高的可行性。這種先通過顏色閾值滑動(dòng)條調(diào)整確定出目標(biāo)物體,再在此基礎(chǔ)上對(duì)目標(biāo)物體進(jìn)行輪廓提取的方法比單一的目標(biāo)顏色提取或輪廓提取更實(shí)用更便捷,為目標(biāo)跟蹤及其他視覺方面的研究奠定了基礎(chǔ)。

        參考文獻(xiàn)

        [1] 徐德,譚民,李原.機(jī)器人視覺測(cè)量與控制[M].2版.北京:國防工業(yè)出版社,2011.

        [2] R西格沃特,I R 諾巴克什,D 斯卡拉穆扎.自主移動(dòng)機(jī)器人導(dǎo)論[M].李人厚,宋青松,譯.2版.西安:西安交通大學(xué)出版社,2013.

        [3] BRADSKI Gary, KAEHLER Adrian.學(xué)習(xí)OpenCV(中文版)[M].于仕琪,劉瑞禎,譯.北京:清華大學(xué)出版社,2009.

        [4] 馬新明,趙曉莉,時(shí)雷,等.基于OpenCV的圖像處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].河南農(nóng)業(yè)大學(xué)學(xué)報(bào),2014(1):87?90.

        [5] 章毓晉.圖像工程(上冊(cè)):圖像處理[M].2版.北京:清華大學(xué)出版社,2007.

        [6] LIN C, TANG Y L. Research and design of the intelligent surveillance system based on DirectShow and ?OpenCV ?[C]// IEEE conference on Consumer Electronics, Communications and Networks. Piscataway, NJ, USA: IEEE, 2011: 4307?4310.

        [7] STEGER C, ULRICH M, WIEDEMANN C. 機(jī)器視覺算法與應(yīng)用[M].楊少榮,吳迪靖,段德山,譯.北京:清華大學(xué)出版社,2008.

        [8] 劉瑞禎,于仕琪.OpenCV教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.

        [9] 黃凱奇,任偉強(qiáng),譚鐵牛.圖像物體分類與檢測(cè)算法綜述[J].計(jì)算機(jī)學(xué)報(bào),2014(6):1225?1240.

        [10] 王娜,李霞.一種新的改進(jìn)Canny邊緣檢測(cè)算法[J].深圳大學(xué)學(xué)報(bào),2005(2):149?153.

        [11] 崔鵬.基于視頻去噪算法移動(dòng)機(jī)器人視覺定位研究[J].現(xiàn)代電子技術(shù),2012,35(20):111?113.

        亚洲中文字幕视频第一二区| 极品人妻少妇av免费久久| 亚洲天堂av在线免费观看| 日本一区二区视频免费在线看| 少妇愉情理伦片| 激情 人妻 制服 丝袜| av无码久久久久久不卡网站| 亚洲AV永久无码精品导航| 国产午夜精品久久久久99| 国内自拍第一区二区三区| 伊人精品成人久久综合97| 国产av在线观看久久| 国产三级久久久精品麻豆三级| 国产精品久久久久电影网| 91福利国产在线观看网站| 国产精品午夜福利亚洲综合网 | 人妻少妇精品视频专区vr| 成人免费直播| 久久久久亚洲av无码专区| 亚洲国产精品久久久久久网站| 亚洲av粉色一区二区三区| 亚洲一区二区在线观看av| 老师开裆丝袜喷水视频| 51看片免费视频在观看| 久久久www成人免费无遮挡大片 | av免费观看网站大全| 特黄aaaaaaaaa毛片免费视频| 亚洲中字慕日产2020| 天天干成人网| 日本一区二区三区在线| av在线播放亚洲天堂| 无码熟妇人妻av在线影片最多| 欧美亚洲日本国产综合在线| 人妻无码人妻有码不卡| 男生自撸视频在线观看| 女人无遮挡裸交性做爰| 久久国产精品-国产精品| 在线观看av国产自拍| 日韩av一区在线播放| 日本人妻精品有码字幕| …日韩人妻无码精品一专区|