• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OpenCV的實(shí)時(shí)動(dòng)態(tài)手勢(shì)檢測(cè)研究

      2015-12-26 12:39江超
      軟件 2015年6期
      關(guān)鍵詞:實(shí)時(shí)膚色直方圖

      摘要:基于OpenCV對(duì)實(shí)時(shí)動(dòng)態(tài)手勢(shì)檢測(cè)進(jìn)行了研究,將背景差分與運(yùn)動(dòng)膚色相結(jié)合,選擇對(duì)HSV顏色空間的運(yùn)動(dòng)膚色信息進(jìn)行標(biāo)記,修改了運(yùn)動(dòng)膚色的亮度值,從而排除了靜止人臉的干擾,并通過(guò)形態(tài)學(xué)處理,獲得了預(yù)期的動(dòng)態(tài)手勢(shì)檢測(cè)效果。

      關(guān)鍵詞:OpenCV;攝像頭;實(shí)時(shí);膚色;背景差分;直方圖;動(dòng)態(tài)手勢(shì)檢測(cè)

      中圖分類號(hào):TP391.41

      文獻(xiàn)標(biāo)識(shí)碼:A

      DOI:10.3969/j.issn.1003-6970.2015.06.021

      本文著錄格式:江超,基于OpenCV的實(shí)時(shí)動(dòng)態(tài)手勢(shì)檢測(cè)研究[J].軟件,2015,36(6):114-119

      ResearchontheReal-timeDynamicGestureDetectionBasedonOpenCV

      JIANGChao

      [Abstract]:Thispaperanalyzesthereal-timedynamicgesturedetectionbasedontheOpenCV.Withthecombinationofbackgroundsubtractionandthedynamicskincolor,theinformationofthedynamicskincoloroftheHSVcolorspaceismarkedanditsbrightnessismodified.Asaresult,thedisturbingofthestaticfaceiseliminated.Moreover,withthemorphologicalprocessing,theexpecteddynamicgesturedetectionisrealized.

      [Keywords]:OpenCV;Camera;Real-time;Skincolor;Backgroundsubtraction;Histogram;Dynamicgesturedetection

      0引言

      現(xiàn)今人T智能機(jī)器人技術(shù)快速發(fā)展[1],人們迫切的希望人機(jī)交互方式能像人與人那樣通過(guò)聲音或手勢(shì)傳遞信息和指令,以使得機(jī)器人更加智能化,因而動(dòng)態(tài)手勢(shì)識(shí)別成為了當(dāng)下研究的一個(gè)熱點(diǎn)方向。

      動(dòng)態(tài)手勢(shì)識(shí)別是一個(gè)動(dòng)靜結(jié)合的過(guò)程,包含了動(dòng)態(tài)圖像軌跡移動(dòng)的識(shí)別和動(dòng)態(tài)圖像輪廓的識(shí)別,而這些都是以動(dòng)態(tài)手勢(shì)檢測(cè)的結(jié)果作為識(shí)別基礎(chǔ)的,動(dòng)態(tài)手勢(shì)檢測(cè)的好壞直接影響著動(dòng)態(tài)手勢(shì)識(shí)別的好壞。本文的工作是進(jìn)行動(dòng)態(tài)手勢(shì)檢測(cè)的研究,為動(dòng)態(tài)手勢(shì)識(shí)別提供更好的檢測(cè)數(shù)據(jù)。

      動(dòng)態(tài)手勢(shì)檢測(cè)是能夠在動(dòng)態(tài)的圖像中檢測(cè)到目標(biāo)物體的移動(dòng)[2],并能捕捉到運(yùn)動(dòng)物體在動(dòng)態(tài)圖像中的位置。目前動(dòng)態(tài)手勢(shì)檢測(cè)最容易想到的算法是背景差分,但是由于光照等外部條件造成的背景圖像的不確定的變化使得運(yùn)動(dòng)檢測(cè)會(huì)隨時(shí)間增長(zhǎng)產(chǎn)生的誤差越來(lái)越大,但是運(yùn)動(dòng)手勢(shì)的另一明顯特征是膚色,本文將目標(biāo)的運(yùn)動(dòng)信息和顏色信息結(jié)合進(jìn)行動(dòng)態(tài)手勢(shì)檢測(cè),并對(duì)顏色直方圖進(jìn)行標(biāo)記,進(jìn)一步排除了人臉的干擾,獲得了較好的檢測(cè)效果。

      10penCV簡(jiǎn)介

      OpenCV是Intel開源的計(jì)算機(jī)視覺庫(kù)(opensourcecomputervisionlibrary)的簡(jiǎn)稱,它是由一些C函數(shù)和少量的C++函數(shù)構(gòu)成,實(shí)現(xiàn)了在圖像處理以及計(jì)算機(jī)視覺方面的許多通用算法,主要對(duì)圖像進(jìn)行如運(yùn)動(dòng)檢測(cè),跟蹤,分割,識(shí)別以及3D重建等高級(jí)處理。它有300多個(gè)C函數(shù)的跨平臺(tái)的中、高層API,它不依賴外部庫(kù),但可以使用外部庫(kù)。由于它是開放源碼且代碼簡(jiǎn)潔高效,其中大多數(shù)函數(shù)都經(jīng)過(guò)匯編最優(yōu)化,所以能充分利用英特爾系列的芯片的設(shè)計(jì)體系,因而對(duì)于英特爾系列芯片,OpenCV的代碼執(zhí)行效率是非常高的。OpenCV具有強(qiáng)大的圖像和矩陣運(yùn)算能力和這方面的用戶接口,同時(shí)支持windows和Linux系統(tǒng)。本文研究?jī)?nèi)容所涉及的相關(guān)程序是在OpenCV+VS2008搭建的環(huán)境下編譯運(yùn)行的。

      2實(shí)時(shí)視頻圖像的采集

      實(shí)時(shí)圖像采集系統(tǒng)的任務(wù)就是采集實(shí)時(shí)視頻圖像[3],硬件部分可以用圖像采集卡或者USB攝像頭,軟件部分的視頻圖像捕捉技術(shù)主要有VFM和DirectShow兩種。相比DirectShow方式,VFM方式使用簡(jiǎn)單方便,但是可控性差,并且VFM技術(shù)是基于消息機(jī)制的,相對(duì)于DirectShow方式速度較慢,而DirectShow技術(shù)是一套底層應(yīng)用程序的編程接口,可以說(shuō)是直接與硬件打交道,通過(guò)圖像采集測(cè)試,發(fā)現(xiàn)VFM采集方式的fps只有9-12左右,而使用DirectShow方式采集能使fps提升到60幀/s。雖然OpenCV中能很好的支持VFM方式,提供了從攝像頭獲取圖像信息的函數(shù)cvCaptureFromCAM,但為了能夠在實(shí)時(shí)的視頻中流暢地檢測(cè)目標(biāo),本文采取DiretShow方式。通過(guò)安裝DiretShow的開發(fā)包,調(diào)用CcameraDS對(duì)象的OpenCamera、CloseCamera、QueryFrame方法可通過(guò)攝像頭進(jìn)行打開、關(guān)閉、實(shí)時(shí)獲取一幀圖像的操作。

      此外,由于像信息會(huì)隨時(shí)受到變化的光照強(qiáng)度、周圍環(huán)境和外部設(shè)備的影響,同時(shí)在采集和處理過(guò)程中常伴有各種噪聲與畸交,使采集到的圖像偏離了本身原有的色彩或產(chǎn)生噪點(diǎn),從而影響圖片的質(zhì)量,導(dǎo)致運(yùn)動(dòng)手勢(shì)檢測(cè)的效果不佳,因此,有必要對(duì)剛采集的每一幀實(shí)時(shí)圖像進(jìn)行光照補(bǔ)償[4]以及去噪濾波[5-6]。

      3實(shí)時(shí)動(dòng)態(tài)手勢(shì)檢測(cè)的算法原理

      3.1基于背景差分的運(yùn)動(dòng)檢測(cè)

      本文研究的內(nèi)容實(shí)現(xiàn)環(huán)境為從固定的攝像頭采集實(shí)時(shí)視頻圖像,因而本文實(shí)驗(yàn)所處的環(huán)境中的背景基本是不動(dòng)的,由于背景差分的運(yùn)動(dòng)特征提取計(jì)算量不大,能很好的滿足實(shí)時(shí)性要求,因而本文在運(yùn)動(dòng)目標(biāo)檢測(cè)的算法基于背景差分。背景差分是將當(dāng)前幀與背景差分,從而分割運(yùn)動(dòng)的物體。假設(shè)d(x,y)表示背景差分后的圖像,f(x,y)表示當(dāng)前幀的圖像,b(x,y)表示背景圖像,那么背景差分的基本原理可用式(1)表示。在OpenCV中可以用cvAbsDiff函數(shù)來(lái)進(jìn)行背景差分。

      difference(x,y)=frame(x,y)-background(x,y)

      (1)

      在背景差分中,位于運(yùn)動(dòng)手勢(shì)區(qū)域的像素點(diǎn)的差分值比較大,而由于光照等外部條件影響的背景區(qū)域的部分像素點(diǎn)差分值也會(huì)有比較大數(shù)值,從而在差分圖像中形成一些噪聲點(diǎn)或者干擾區(qū)域,但是大部分的沒有受到干擾背景區(qū)域的像素點(diǎn)會(huì)得到比較小的差分值。對(duì)于三通道RGB圖像,通過(guò)背景差分將運(yùn)動(dòng)目標(biāo)從背景圖像中分割出來(lái),可將差分后的目標(biāo)轉(zhuǎn)換成單通道的灰度圖,然后通過(guò)閾值法分割目標(biāo),將8位RGB圖像轉(zhuǎn)換成8位灰度模式圖像如公式(2)。

      Gray=(R*30+G*59+B*11)\100

      (2)

      閾值法分割運(yùn)動(dòng)目標(biāo)是通過(guò)比較像素與一個(gè)合適的閾值的大小關(guān)系,來(lái)確定圖像的每個(gè)像素是目標(biāo)像素還是背景像素,最后得到一個(gè)二值化的圖像,完成目標(biāo)分割。圖像的二值化如公式(3)。OpenCV中可用cvThreshold函數(shù)進(jìn)行二值化。

      合理地選擇最佳閾值[7]是必要的,考慮到差分值比較大的像素點(diǎn)大部分應(yīng)屬于手勢(shì)運(yùn)動(dòng)區(qū)域,那么最佳閾值應(yīng)該處于偏小的差分值的區(qū)間,本文通過(guò)統(tǒng)計(jì)不同閾值下像素的明顯變化來(lái)找到最佳閾值。先設(shè)定一個(gè)最小閾值為1,然后每次增加2的間隔增加到51,并統(tǒng)計(jì)每個(gè)閾值下的像素個(gè)數(shù),發(fā)現(xiàn)閾值在17以后像素統(tǒng)計(jì)量下降很快,且在17左有時(shí)像素統(tǒng)計(jì)值變化不是很大,于是義從最小閾值開始每隔l的間隔增加到20,發(fā)現(xiàn)閾值為10左右時(shí)像素統(tǒng)計(jì)量基本不變,在10之前像素統(tǒng)計(jì)量是隨閾值增加緩慢減小的,而超過(guò)10后一點(diǎn),像素統(tǒng)計(jì)統(tǒng)計(jì)量義開始快速減小,于是確定最佳閾值為10。

      3.2基于目標(biāo)信息標(biāo)記的顏色直方圖運(yùn)動(dòng)檢測(cè)

      3.2.1顏色空間

      顏色空間有多鐘模型,常用的有RGB、YCbCr、HSV等。

      RGB顏色空間是基于白然界中三種基色光的}昆合原理,將Red、Green、Blue三種基色按照從0(黑色)到255(白色)的亮度值在三個(gè)顏色通道中分配,從而確定其色彩,于是當(dāng)不同的亮度值的基色}昆合,就會(huì)產(chǎn)生出256*256*256中顏色,大概為1670W種顏色,用幾何學(xué)來(lái)表示是基于笛卡爾坐標(biāo)系統(tǒng)的立方體,三個(gè)軸分別為R、G、B,原點(diǎn)對(duì)應(yīng)為黑色,離原點(diǎn)最遠(yuǎn)的頂點(diǎn)為純白色,立方體內(nèi)各個(gè)不同的點(diǎn)都是256*256*256種顏色中的一種,可以用從原點(diǎn)到該點(diǎn)的矢量表示,每一副彩色圖像都可以分解到立方體中三個(gè)獨(dú)立的基色平面上。

      YCbCr顏色空間廣泛應(yīng)用在數(shù)字視頻中,Y分量表示亮度信息,Cb分量和Cr分量分別表示藍(lán)色色差和紅色色差,由于Y分量的亮度信息與Cb和Cr兩個(gè)色差分量的顏色信息分開,使得該顏色空間在Cb和Cr分量所組成的空間平面上具有更好的顏色聚類性,尤其是膚色聚類性。YcbCr與RGB顏色空間的轉(zhuǎn)換如公式4和5。

      HSV顏色空間是基于畫家的配色方法。HSV顏色空間對(duì)應(yīng)于圓柱坐標(biāo)系中的一個(gè)圓錐形子集,網(wǎng)錐的軸對(duì)應(yīng)了V,代表亮度,取值在0-100%之間,H對(duì)應(yīng)了繞V軸旋轉(zhuǎn)的度數(shù),代表色調(diào),大小在0-360度之間,S對(duì)應(yīng)了繞V軸旋轉(zhuǎn)的半徑,代表飽和度,表示色彩的明暗,取值也在0-100%之間。在圓錐的頂點(diǎn)(即原點(diǎn))處,V=O,H和S都無(wú)定義,代表黑色。網(wǎng)錐頂面的中心處S=O,V=l,H無(wú)定義,代表白色,從該點(diǎn)到原點(diǎn)的連線即V軸代表亮度逐漸灰暗的等級(jí),在該軸上的點(diǎn)S=O,H無(wú)定義,它對(duì)應(yīng)于RGB顏色空間中的主對(duì)角線。在圓錐頂面的圓周的上顏色,V=l,S=l,表示為純色。從RGB顏色空間的轉(zhuǎn)換到HSV顏色空間如公式6。

      3.2.2手勢(shì)顏色特征提取

      顏色特征有多種如顏色直方圖、顏色集、顏色矩、顏色聚合向量以及顏色相關(guān)圖等。其中顏色直方圖能描述不同的顏色值在整個(gè)圖像中所占的比例,而并不關(guān)心每個(gè)顏色在圖像中所處的位置。任何一副圖像都能給出一副與它對(duì)應(yīng)的直方圖,但是不同的兩幅圖像可能有一副完全相同的顏色直方圖分布,因而顏色直方圖邗圖像是一對(duì)多的關(guān)系。一般圖像中的前景色和背景色的分布明顯不同,在其顏色直方圖上就會(huì)出現(xiàn)雙峰的特性。一幅灰度圖像的顏色直方圖的數(shù)學(xué)表達(dá)如公式(7)。

      H(K)=nA(K=0,1,…,L-1)

      (7)

      其中,K表示像素值個(gè)第K個(gè)bin格,L表示最大

      像素值將像素的取值范圍平均分成L個(gè)等份,8位圖像的像素值最大值為255,nK表示整幅圖像所有像素中,像素值在第K個(gè)bin的像素值區(qū)間中的像素的個(gè)數(shù)。

      在實(shí)際中一般都要將直方圖歸一化,因?yàn)橛捎趫D像如果很大的話,那么該圖像中在其直方圖的某一個(gè)區(qū)間中的統(tǒng)計(jì)值很可能非常大,因此有必要將直方圖進(jìn)行歸一化。歸一化就是將所有直方塊的值加起來(lái),然后將每個(gè)直方塊都除以這個(gè)和,最后將每個(gè)直方塊的值都乘以一個(gè)歸一化因子,從而調(diào)整每個(gè)直方塊為歸一化后的值,這樣直方塊的值就會(huì)變成我們需要的值,而不會(huì)太大。OpenCV中可以用CvHistogram表示顏色直方圖變量,用cvCalcHist來(lái)計(jì)算圖像的直方圖,用cvNormalizeHist進(jìn)行直方圖的歸一化。

      本文在動(dòng)態(tài)手勢(shì)檢測(cè)前,先提取手勢(shì)膚色的顏色直方圖信息,該直方圖的直方塊數(shù)據(jù)在人體膚色有關(guān)的區(qū)間有比較大的值,而在非人體膚色的區(qū)間有比較小的值,那么用該直方圖數(shù)據(jù)計(jì)算每幀反投影圖像,人體膚色的像素點(diǎn)則在反投影圖像中就會(huì)有比較大的數(shù)值。

      由于HSV顏色空間對(duì)光線的敏感程度較小[8],因而本文采集顏色直方圖數(shù)據(jù)時(shí)選擇HSV顏色空間。為提高直方圖數(shù)據(jù)精度,將HSV空間直方圖劃分為40*40*50的等級(jí)。

      3.2.3基于手勢(shì)顏色特征的反投影圖

      圖像的反投影圖像[9]是是直方圖數(shù)據(jù)的反映,即用輸入圖像的每個(gè)二維位置上的像素值(灰度或者多維)對(duì)應(yīng)到該像素在直方圖上對(duì)應(yīng)的bin格上的值來(lái)替代該像素的值,因而圖像的反投影圖像都是單通道的。用統(tǒng)計(jì)學(xué)來(lái)表述就是輸出圖像像素點(diǎn)的值是對(duì)應(yīng)觀測(cè)數(shù)組在某個(gè)分布(直方圖)下的概率,如公式(8)。

      其中b(xi)是圖像在位置x.上的像素對(duì)應(yīng)到直方圖的第b(xi)個(gè)bin格,m表示直方圖被平均分成m個(gè)bin格,qu表示直方圖的第u個(gè)bin格直方塊的值。在OpenCV中可以用cvCalcBackProject函數(shù)來(lái)獲得圖像的反投影圖像。

      3.2.4排除人臉干擾

      由于提取的顏色直方圖是膚色相關(guān)的,因此背景圖像的人臉會(huì)對(duì)運(yùn)動(dòng)手勢(shì)檢測(cè)形成干擾,然而人臉和手勢(shì)的最大區(qū)別是運(yùn)動(dòng)特征,因此,對(duì)符合條件的像素值進(jìn)行標(biāo)記,以使其不同于人臉的像素點(diǎn)。由于HSV空間中將光線敏感的亮度信息單獨(dú)用V表示,選擇修改V值可以很好的保留顏色信息,且對(duì)運(yùn)動(dòng)膚色特征進(jìn)行標(biāo)記。

      本文中將HSV空間中符合條件的像素點(diǎn)的亮度V調(diào)整為比較小的值。調(diào)整為比較小的值是因?yàn)槿四樐w色的亮度和運(yùn)動(dòng)的手勢(shì)亮度值正常情況下應(yīng)該是亮度比較大的,將運(yùn)動(dòng)手勢(shì)區(qū)域的亮度值V修改為較小的數(shù)值可以很好的減小類膚色人臉的干擾。那么在采集顏色直方圖時(shí),采集區(qū)域內(nèi)的所有像素點(diǎn)都應(yīng)該符合條件,應(yīng)該對(duì)所有像素點(diǎn)的V值進(jìn)行修改,而在每幀圖像中只有的運(yùn)動(dòng)膚色的像素點(diǎn)才符合條件,應(yīng)該只對(duì)這些像素點(diǎn)進(jìn)行V值的修改,這樣直方圖數(shù)據(jù)在運(yùn)動(dòng)膚色方面就可以對(duì)應(yīng)了。具體的修改做法如公式(9)。

      滿足式(9)的像素點(diǎn)必須先是運(yùn)動(dòng)的像素點(diǎn),因而需要滿足背景差分后的經(jīng)過(guò)二值化的閾值大于10的條件。式(9)中通過(guò)判斷r/g的比例來(lái)修改V值,這是因?yàn)榇蠖鄶?shù)黃種人膚色偏黃色,而純黃色可以用純紅色與純綠色按1:1的比例搭配得到,因而對(duì)應(yīng)的像素點(diǎn)在RGB圖像中其紅色分量一定大于綠色分量即r>g,本實(shí)驗(yàn)采用的是30萬(wàn)的攝像頭,采集的視頻圖像效果難免有失真,在室內(nèi)環(huán)境內(nèi)經(jīng)過(guò)多次調(diào)試,發(fā)現(xiàn)其采集的人體膚色像素中的紅色和綠色比例大概在1.0-2.0之間。因而式中將滿足運(yùn)動(dòng)且為膚色的條件的像素點(diǎn)的V值修改為lO*(r/g),而非膚色的值修改為最大值255。

      在經(jīng)過(guò)V值修改后,將采集的HSV空間的手勢(shì)顏色直方圖對(duì)處理后的當(dāng)前幀圖像做反投影,就可以得到一個(gè)具有動(dòng)態(tài)膚色信息的灰度圖像。在采集直方圖時(shí),經(jīng)過(guò)試驗(yàn)確定歸一化因子為1000。HSV顏色直方圖中統(tǒng)計(jì)的是手勢(shì)膚色的顏色信息,其中也不排除采集時(shí)也有少量非手勢(shì)膚色信息被采集,但是不妨礙直方圖中只有滿足是膚色的柱狀塊有比較大的數(shù)值,少量非膚色和V=255的柱狀塊的值有比較小的數(shù)值,其余非膚色的柱狀塊的值基本上都為0,因而這里得到的灰度圖像的像素點(diǎn)中基本上只有是符合運(yùn)動(dòng)膚色的像素點(diǎn)才有數(shù)值,大部分非運(yùn)動(dòng)膚色的像素點(diǎn)的灰度值都應(yīng)該為0,所以這里對(duì)運(yùn)動(dòng)膚色進(jìn)行閾值法分割時(shí),選擇的閾值很小,本文選擇閾值為從1每隔1增加到10統(tǒng)計(jì)的像素個(gè)數(shù)基本變化不大,于是就選擇閾值為5,進(jìn)行二值化運(yùn)動(dòng)目標(biāo)分割。

      3.3進(jìn)一步處理

      由于背景差分的運(yùn)動(dòng)檢測(cè)只能檢測(cè)出運(yùn)動(dòng)的像素,而基于顏色直方圖的運(yùn)動(dòng)檢測(cè)可以檢測(cè)出運(yùn)動(dòng)膚色的像素,這其中也會(huì)有采集手勢(shì)膚色直方圖中有少量的非手勢(shì)膚色也被采集到手勢(shì)HSV直方圖中,且V值為255的像素點(diǎn)也會(huì)形成干擾,本文將背景差分的運(yùn)動(dòng)檢測(cè)與基于顏色直方圖的運(yùn)動(dòng)檢測(cè)結(jié)合起來(lái),將兩種方式得到的運(yùn)動(dòng)檢測(cè)結(jié)果相與,取它們的共有的像素,這樣減少了干擾,這可能也會(huì)排除掉本來(lái)是運(yùn)動(dòng)膚色的像素,但是對(duì)于實(shí)時(shí)準(zhǔn)確的檢測(cè)出運(yùn)動(dòng)手勢(shì)提供了穩(wěn)定性。OpenCV中可以用cvAnd實(shí)現(xiàn)上述操作。

      上述動(dòng)態(tài)手勢(shì)檢測(cè)的算法雖然可快速準(zhǔn)確的檢測(cè)出移動(dòng)的手勢(shì),但不能形象的檢測(cè)出手型,如產(chǎn)生細(xì)絲狀或出現(xiàn)空洞等,因此有必要對(duì)檢測(cè)結(jié)果進(jìn)行進(jìn)一步的形態(tài)學(xué)處理。

      3.3.1形態(tài)學(xué)處理

      形態(tài)學(xué)源于對(duì)植物和動(dòng)物的形態(tài)研究,而數(shù)學(xué)形態(tài)學(xué)[10](MathematicalMorphology)是將形態(tài)學(xué)應(yīng)用于圖像處理中用于表達(dá)圖像中的有用的區(qū)域形狀。它的基本做法是用特定形態(tài)的結(jié)構(gòu)元素度量并提取圖像的特定的形狀用以達(dá)到圖像分析與識(shí)別目的。在圖像形態(tài)學(xué)處理[11]時(shí),通常是將4連通的3*3領(lǐng)域或8連通的3*3領(lǐng)域的結(jié)構(gòu)元素在圖像中以單位結(jié)構(gòu)元素移動(dòng),然后做類似卷積形態(tài)學(xué)基本運(yùn)算。圖像的連通性是指像素的領(lǐng)域是由某種結(jié)構(gòu)構(gòu)成,那么該像素與其領(lǐng)域的像素就是連通的。在OpenCV的函數(shù)庫(kù)中可用cvMorphologyEx函數(shù)進(jìn)行圖像形態(tài)學(xué)的操作。

      最基本的四個(gè)形態(tài)學(xué)算法[12]是:膨脹、腐蝕、開運(yùn)算以及比運(yùn)算。膨脹的作用是使物體的邊界擴(kuò)張,若在圖像中的兩個(gè)區(qū)域相距較近,那么經(jīng)過(guò)膨脹運(yùn)算后,兩個(gè)區(qū)域就有成為連通域。腐蝕是膨脹的反過(guò)程,在數(shù)學(xué)形態(tài)學(xué)中腐蝕的作用是消除物體邊界,若兩個(gè)物體之間有細(xì)小的連通,那么選擇合適的結(jié)構(gòu)元素,經(jīng)過(guò)腐蝕運(yùn)算后,就會(huì)使兩個(gè)連通的物體變得不連通。腐蝕可以消除圖像中細(xì)小而孤立的噪聲點(diǎn)。開運(yùn)算是對(duì)目標(biāo)圖像先做腐蝕運(yùn)算,再做膨脹運(yùn)算。它可以消除圖像中孤立的小點(diǎn)、小刺,也可以平滑較大物體的邊界而基本不改變物體像素個(gè)數(shù)。它的作用與腐蝕的作用類似,但與腐蝕相比,它可以基本保持目標(biāo)原有面積不變的優(yōu)點(diǎn)。閉運(yùn)算時(shí)對(duì)目標(biāo)圖像先做膨脹運(yùn)算再做腐蝕運(yùn)算。它可以平滑圖像輪廓、填平小孑L、修補(bǔ)細(xì)小裂縫,填補(bǔ)后使圖像的填補(bǔ)結(jié)果義一定的幾何特征,它還可以抹掉凸圖像內(nèi)部的尖角部分而總的位置與形狀都不變。閉運(yùn)算的結(jié)果常常是目標(biāo)比源圖像增加一些像素。

      本文對(duì)上述動(dòng)態(tài)手勢(shì)檢測(cè)的結(jié)果進(jìn)行一次開運(yùn)算以進(jìn)一步消除噪聲,然后經(jīng)過(guò)5次閉運(yùn)算擴(kuò)大運(yùn)動(dòng)目標(biāo),以使最終檢測(cè)的動(dòng)態(tài)手勢(shì)平滑且具有形態(tài)化。

      3.3.2背景更新

      由于真實(shí)場(chǎng)景的中的背景也在隨著時(shí)間也在不斷的變化,即使在攝像頭固定的情況下,背景也會(huì)有光線等外部條件產(chǎn)生微小變化,這樣若在每幀圖像與背景做差分時(shí),選取的背景圖像還是初始背景時(shí),會(huì)由于使用的背景圖像不能反映當(dāng)前幀的背景的真實(shí)情況,從而產(chǎn)生誤差,這個(gè)誤差會(huì)隨著時(shí)間而不斷積累,最終不能有效地實(shí)時(shí)檢測(cè)出運(yùn)動(dòng)目標(biāo)。因此有必要對(duì)背景圖像進(jìn)行背景更新,從而能及時(shí)反映當(dāng)前幀的背景。背景更新的如公式(10)

      其中ut表示t時(shí)刻背景圖像對(duì)應(yīng)像素點(diǎn),ut+l表示t+l時(shí)刻經(jīng)過(guò)背景更新后背景圖像對(duì)應(yīng)的像素點(diǎn),It表示t時(shí)刻即當(dāng)前幀圖像的像素點(diǎn),If表示t時(shí)刻圖像對(duì)應(yīng)像素點(diǎn)的掩碼值即是否做背景更新,a∈[0,1]表示背景更新的速度,一般取0.8到1.0之間的值,本文取值為0.8。在OpenCV中可以用cvAddWeighted函數(shù)做背景更新操作。

      由于在攝像頭打開時(shí)是需要一定的時(shí)間的,在這段時(shí)間里攝像頭采集的實(shí)時(shí)視頻圖像數(shù)據(jù)也有可能受少許硬件初始化的影響,并且此時(shí)在攝像頭前的人基本是在等待攝像頭的開啟,是處于靜止?fàn)顟B(tài)的,因而這期間采集的實(shí)時(shí)視頻圖像數(shù)據(jù)的綜合數(shù)據(jù)應(yīng)該就是本實(shí)驗(yàn)環(huán)境的背景圖像。所以本文將攝像頭采集的前20幀實(shí)時(shí)視頻圖像連續(xù)做背景更新,從而得到初始的背景圖像Bo。然后在每幀圖像中只對(duì)被檢測(cè)出來(lái)的運(yùn)動(dòng)手勢(shì)遮住的部分進(jìn)行更新。

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

      4.1基于背景差分的運(yùn)動(dòng)檢測(cè)實(shí)驗(yàn)

      從下圖1可以看出在連續(xù)的幾幀中,有大面積的運(yùn)動(dòng)的手勢(shì)被檢測(cè)出來(lái),而人體微小的運(yùn)動(dòng)也被檢測(cè)出來(lái)。

      4.2基于目標(biāo)信息標(biāo)記的顏色直方圖運(yùn)動(dòng)檢測(cè)實(shí)驗(yàn)

      從上圖2可以看出在連續(xù)的幾幀中,經(jīng)過(guò)人為標(biāo)記的運(yùn)動(dòng)手勢(shì)能有效的被檢測(cè)出來(lái),而沒有經(jīng)過(guò)標(biāo)記的人臉部分,基本沒有被檢測(cè)出來(lái)。

      4.3進(jìn)一步處理

      如上圖3,在經(jīng)過(guò)背景差分和人為標(biāo)定直方圖相結(jié)合的運(yùn)動(dòng)檢測(cè)后,經(jīng)過(guò)圖像形態(tài)學(xué)處理能得到比較完整的運(yùn)動(dòng)手勢(shì)二值圖像。

      5結(jié)束語(yǔ)

      本文通過(guò)對(duì)動(dòng)態(tài)手勢(shì)檢測(cè)的研究,提出了將背景差分和基于目標(biāo)信息顏色直方圖的動(dòng)態(tài)手勢(shì)檢測(cè)相結(jié)合的算法,獲得了預(yù)期的動(dòng)態(tài)手勢(shì)檢測(cè)效果,對(duì)今后進(jìn)行動(dòng)態(tài)手勢(shì)識(shí)別的研究打下了堅(jiān)實(shí)的基礎(chǔ)。

      參考文獻(xiàn)

      [1]楊帆,劉詠梅.基于視覺與語(yǔ)義信息的圖像聯(lián)合相似性度量方法研究[J].新型工業(yè)化,2012,2(1):52-58.

      [2]張燦龍,敬忠良.基于辨識(shí)性穩(wěn)定區(qū)的視頻跟蹤[J].新型工業(yè)化,2012,2(5):55-64.

      [3]吉亞泰.基于DSP的圖像采集與處理系統(tǒng)的研究與設(shè)計(jì)[J].軟件,2013,34(2):22-25.

      [4]RafaelC,GonzalezRichadE.Woods.數(shù)字圖像處理(第二版)[M].阮秋琦,阮寧智譯.北京:電子工業(yè)出版社,2003.

      [5]羅軍輝,馮平,哈力旦A等.Matlab7.0在圖像處理中的應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005.

      [6]陳蒙.醫(yī)學(xué)X光成像中圖像去噪算法研究[J].軟件,2013,34(11):62-63.

      [7]陳松.人臉檢測(cè)和識(shí)別[D].西安:西安電子科技大學(xué),2007,4:43-45.

      [8]蔡林沁,鄭雪松,王牛.基于HSV顏色空間正交立體視覺目標(biāo)檢測(cè)[J].新型工業(yè)化,2013,3(1):79-88.

      [9]羅強(qiáng).移動(dòng)目標(biāo)的跟蹤技術(shù)研究[D].武漢:武漢理T大學(xué),2009.

      [10]謝鳳英,趙丹培.VisualC++數(shù)字圖像處理[M].北京:電了工業(yè)出版社,2008,9.

      [11]鐘彩.邊緣檢測(cè)算法在圖像預(yù)處理中的應(yīng)用[J].軟件,2013,34(1):158-159.

      [12]岡薩雷斯.數(shù)字圖像處理(第三版)[M].北京:電子工業(yè)出版社,2011.

      猜你喜歡
      實(shí)時(shí)膚色直方圖
      符合差分隱私的流數(shù)據(jù)統(tǒng)計(jì)直方圖發(fā)布
      Conversation in a house
      人的膚色為什么不同
      為什么人有不同的膚色?
      用直方圖控制畫面影調(diào)
      一種改進(jìn)的混音算法的研究與實(shí)現(xiàn)
      基于空間變換和直方圖均衡的彩色圖像增強(qiáng)方法
      基于直方圖平移和互補(bǔ)嵌入的可逆水印方案
      膚色檢測(cè)和Hu矩在安全帽識(shí)別中的應(yīng)用
      遂昌县| 革吉县| 内黄县| 阳山县| 祁门县| 霍山县| 方正县| 秀山| 海安县| 嘉祥县| 土默特左旗| 阳山县| 茂名市| 天台县| 高阳县| 剑河县| 惠州市| 靖州| 施秉县| 满洲里市| 鄢陵县| 蒲城县| 开化县| 淅川县| 盐亭县| 巴林左旗| 福贡县| 杭锦旗| 安阳县| 宁城县| 惠水县| 新晃| 梧州市| 梁河县| 张掖市| 深州市| 绥滨县| 永康市| 永修县| 颍上县| 富顺县|