本發(fā)明涉及圖像處理領(lǐng)域,尤其涉及一種基于視覺(jué)的深度圖形數(shù)據(jù)獲取和處理的手勢(shì)識(shí)別方法。
背景技術(shù):
傳隨著計(jì)算機(jī)的高速發(fā)展,人機(jī)交互模式也不斷發(fā)生著變化。現(xiàn)實(shí)生活經(jīng)驗(yàn)可得,人與人在交互過(guò)程中,肢體語(yǔ)言也非常重要,使用手來(lái)實(shí)現(xiàn)人機(jī)交互,比起使用鍵盤(pán),鼠標(biāo)等媒介而言,更加自然流暢,這也是近期觸屏手機(jī)逐步成為主流的原因之一。
而使用手來(lái)實(shí)現(xiàn)人機(jī)交互,其原理就是機(jī)器對(duì)手的解釋,如手的形狀,手的空間位置,手的姿態(tài),手的空間位置等。而識(shí)別的方法有很多,有的是利用的配套設(shè)備,如加速度傳感器等,而我今天要講的一種識(shí)別方法是基于視覺(jué)的手勢(shì)識(shí)別。
基于視覺(jué),也就是不利用相對(duì)復(fù)雜的配套設(shè)備,使用攝像頭來(lái)捕獲關(guān)于手的圖像,并通過(guò)算法分析,從圖中抽出關(guān)于手的信息。常見(jiàn)的包括單目識(shí)別系統(tǒng),雙目識(shí)別系統(tǒng)以及多目識(shí)別。顧名思義,單目也就是只是用一個(gè)攝像頭,而雙目使用兩個(gè)(相當(dāng)于人的雙眼,通過(guò)這個(gè)可以提取出手的深度信息,獲得手的空間位置),多目也就是多攝像頭協(xié)作。
基于視覺(jué)的手勢(shì)識(shí)別方法普遍使用網(wǎng)絡(luò)攝像頭作為圖像的提取設(shè)備,但是極易受到光照變化的影響和類膚色的干擾,識(shí)別效果到不到預(yù)期的效果,隨著高科技產(chǎn)品Kinect深度攝像頭的出現(xiàn),人機(jī)交互模式又出現(xiàn)了新的發(fā)展方向,但是在借助Kinect的基礎(chǔ)上怎樣很好的實(shí)現(xiàn)手勢(shì)識(shí)別已經(jīng)成為探索的熱點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的,在于借助Kinect有效實(shí)現(xiàn)手勢(shì)識(shí)別。
本發(fā)明為實(shí)現(xiàn)上述目標(biāo)所采用的技術(shù)方案是:
提供基于視覺(jué)的手勢(shì)識(shí)別方法,包括以下步驟:
步驟1、通過(guò)Kinect傳感器攝取視頻流,并獲得深度圖像數(shù)據(jù)和骨骼數(shù)據(jù);
步驟2、用中值濾波方法對(duì)獲得的深度圖像數(shù)據(jù)進(jìn)行預(yù)處理;
步驟3、根據(jù)深度圖像數(shù)據(jù)和骨骼數(shù)據(jù)對(duì)手部區(qū)域進(jìn)行提取,得到手部區(qū)域二值圖;
步驟4、通過(guò)邊緣檢測(cè)二值化手部區(qū)域二值圖的邊緣圖像,并提取手掌輪廓信息;
步驟5、根據(jù)手部區(qū)域二值圖進(jìn)行手心重置;
步驟6、根據(jù)手掌輪廓信息求出凸包頂點(diǎn)和外接圓;
步驟7、根據(jù)手心重置以及求出的凸包頂點(diǎn)和外接圓,運(yùn)用分類決策樹(shù)和手勢(shì)庫(kù)中預(yù)設(shè)的多種手勢(shì)進(jìn)行匹配,識(shí)別手勢(shì)。
本發(fā)明所述的方法中,步驟S2具體包括以下步驟:
步驟2.1、先確定一個(gè)像素點(diǎn)p(i,j)為中心的鄰域窗口w;
步驟2.2、把11×11鄰域窗口w中所有像素的灰度值從小到大排列,并選擇中間值作為中心像素點(diǎn)p(i,j)的灰度新值,窗口移動(dòng)時(shí)就能夠通過(guò)中值濾波對(duì)圖像進(jìn)行平滑處理;中值濾波的基本公式是:
f(i,j)=median{f(r,s)|f(f,s)∈Nf(i,j)}
其中f(r,s)表示鄰域窗口w內(nèi)任意像素點(diǎn)的灰度值,Nf(i,j)表示f(i,j)的實(shí)心鄰域。
本發(fā)明所述的方法中,步驟S3中手部區(qū)域提取的步驟包括:
步驟3.1、根據(jù)追蹤到的手心和關(guān)節(jié)點(diǎn)坐標(biāo)位置;
步驟3.2、創(chuàng)建一個(gè)包含手部信息的矩形包圍盒;
步驟3.3、在矩形包圍盒內(nèi)以手心關(guān)節(jié)點(diǎn)位置開(kāi)始向鄰域逐個(gè)遍歷像素直到個(gè)數(shù)為空,得到手部區(qū)域二值圖。
本發(fā)明所述的方法中,步驟3.1中追蹤手心和關(guān)節(jié)點(diǎn)位置的步驟是:
步驟3.1a、在NITE庫(kù)中Hand tracker類提供了手勢(shì)檢測(cè)和手部位置跟蹤功能,調(diào)用算法對(duì)手勢(shì)進(jìn)行檢測(cè);
步驟3.1b、在對(duì)手勢(shì)進(jìn)行檢測(cè)之后調(diào)用Hand tracker類的startHandTracking()函數(shù)對(duì)手部進(jìn)行追蹤。
本發(fā)明所述的方法中,步驟3.2中創(chuàng)建一個(gè)包含手部信息的矩形圍盒的步驟是:
步驟3.2a、獲得手心Z坐標(biāo)深度值;
步驟3.2b、根據(jù)如下公式建立包圍盒子
Width(W(z))=Heigth(W(z))=2*min{max{80-0.2*(Z-640),60},80}其中W(z)為所獲取的包圍盒。
本發(fā)明所述的方法中,步驟3.3中獲取手部區(qū)域二值圖的步驟是:
步驟3.3a、根據(jù)手心Z坐標(biāo)深度值對(duì)深度圖像進(jìn)行分割,
其中,handmask是一個(gè)8位的單通道圖像,手部候選區(qū)域的像素值為255,其它區(qū)域?yàn)?,式子中的閥值設(shè)定為100mm;
步驟3.3b、將手心點(diǎn)投影到2D空間根據(jù)手的大小做一次二維分割,算法如下:
步驟3.3c、對(duì)handmask所有閉合區(qū)域的面積進(jìn)行統(tǒng)計(jì),設(shè)置成人手掌的面積閥值,剔除掉小于該閥值的連通區(qū)域,最終獲得較準(zhǔn)確的手掌區(qū)域。
本發(fā)明所述的方法中,步驟4中,邊緣檢測(cè)的步驟具體包括:
步驟4.1、使用Hysteris閥值對(duì)邊緣像素進(jìn)行判斷,對(duì)于每個(gè)候選單元,如果則標(biāo)記為邊緣像素,幅度邊緣
步驟4.2、如果剩下的候選邊緣在3×3的鄰域范圍內(nèi),那么至少還存在著一個(gè)鄰像素為邊緣像素,則把它標(biāo)記為邊緣;
步驟4.3、重復(fù)步驟4.2,直到所有的邊緣像素都被標(biāo)記,剩下的則被標(biāo)記為非邊緣像素;
步驟4.4、得到二值化的邊緣圖像;
步驟4.5、對(duì)非連續(xù)的邊緣進(jìn)行修補(bǔ)和過(guò)濾得到手掌輪廓;
步驟4.6、基于OpenCV的cvFindContours函數(shù)提取手部輪廓。
本發(fā)明所述的方法中,步驟5中手心重置的步驟具體包括:
步驟5.1、利用細(xì)化方法中的距離變換對(duì)二值化的邊緣圖像進(jìn)行分析;
步驟5.2、OpenCV選擇棋盤(pán)距離l(r)=r原理的處理函數(shù)進(jìn)行圖像處理。
本發(fā)明所述的方法中,步驟6中,求凸包頂點(diǎn)的步驟具體包括:
步驟6.1、尋找所有邊緣點(diǎn)中Y坐標(biāo)值最小的點(diǎn),如果最小Y坐標(biāo)值不止一個(gè),則在這幾個(gè)點(diǎn)中選取X坐標(biāo)值最小的點(diǎn),并將此點(diǎn)設(shè)為基準(zhǔn)點(diǎn)P;
步驟6.2、把所有的邊緣點(diǎn)與基準(zhǔn)點(diǎn)P連接起來(lái),同時(shí)計(jì)算所有連線和X坐標(biāo)之間的夾角,按照夾角的大小排序,將所有邊緣點(diǎn)依次編號(hào)為P[0],P[1]…P[n],其中n為整數(shù);
步驟6.3、假設(shè)存在著一條虛擬路徑從P[0]點(diǎn)依次連接到P[n]點(diǎn),則判斷前一點(diǎn)到后一點(diǎn)的方向是向左轉(zhuǎn)還是向右轉(zhuǎn);如果是向右轉(zhuǎn),則前一點(diǎn)不屬于凸包集;如果向左轉(zhuǎn),則判定前一點(diǎn)為凸包點(diǎn),并把它加入堆棧;以此算法處理所有的邊緣點(diǎn),最后堆棧中得到凸包集;
步驟6.4、對(duì)數(shù)據(jù)進(jìn)行細(xì)檢測(cè)篩選更為精確的指尖點(diǎn);把第一個(gè)凸包P1,第二個(gè)凸包P3作為結(jié)束點(diǎn),而P1和P3之間的缺陷點(diǎn)P2作為深度點(diǎn),則起始點(diǎn)和結(jié)束點(diǎn)都有可能是指尖點(diǎn);假設(shè)(P2,P1),(P2,P3)的向量分別為V1和V2,通過(guò)計(jì)算V1,V2之間的夾角和它們的長(zhǎng)度之和,如果V1,V2的夾角小于90°,并且兩個(gè)向量的長(zhǎng)度之和大于100mm,則起始點(diǎn)和結(jié)束點(diǎn)就可判定為指尖點(diǎn);
步驟6.5,運(yùn)用算法算出外接圓;
其中,步驟6.3中,對(duì)于向左轉(zhuǎn)或是向右轉(zhuǎn)的判別使用的是向量叉乘法,假設(shè)三個(gè)連續(xù)的點(diǎn)分別是P0(x0,y0),P1(x1,y1),P2(x2,y2),形成一個(gè)夾角向量為((P0,P1),(P0,P2)),向量叉乘的計(jì)算如式表示:
d=(P0,P1)×(P0,P2)=(x1-x0)*(y2-y0)-(x2-x0)*(y1-y0)
如果d>0,則(P0,P1),(P0,P2)為右轉(zhuǎn);如果d<0,則為左轉(zhuǎn);如果d=0,則為直線。
本發(fā)明所述的方法中,所述步驟7中,手勢(shì)識(shí)別的步驟是:
步驟7.1、利用算法計(jì)算手勢(shì)特征,包括有效凸缺陷數(shù)DCD、有效凸缺陷特征夾角DCDA、輪廓與其外接圓面積比CCR和凸包有效外接圓頂點(diǎn)數(shù)CD-VC這4個(gè)特征參數(shù);
步驟7.2、建立分類決策樹(shù),根據(jù)DCD參數(shù)對(duì)不同手勢(shì)第一次加以區(qū)分,對(duì)于DCD參數(shù)相同的手勢(shì)再通過(guò)DCDA參數(shù)進(jìn)行區(qū)分,若依然無(wú)法區(qū)別則利用CCR參數(shù)區(qū)分,最后使用CD-VC為參數(shù)加以區(qū)分。
本發(fā)明產(chǎn)生的有益效果是:本發(fā)明通過(guò)Kinect傳感器獲得深度圖像數(shù)據(jù)和骨骼數(shù)據(jù),對(duì)圖像進(jìn)行處理后,提取手部數(shù)據(jù),再運(yùn)用分類決策樹(shù)和手勢(shì)庫(kù)中預(yù)設(shè)的多種手勢(shì)進(jìn)行匹配,從而有效識(shí)別手勢(shì)。
附圖說(shuō)明
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中:
圖1是本發(fā)明實(shí)施例的方法流程圖;
圖2是本發(fā)明實(shí)施例手部提取流程圖;
圖3是本發(fā)明實(shí)施例手部提取前后對(duì)比圖;
圖4a是本發(fā)明實(shí)施例手掌輪廓的凸包頂點(diǎn)圖;
圖4b是本發(fā)明實(shí)施例手掌輪廓的外接圓;
圖5是本發(fā)明實(shí)施例指尖點(diǎn)的檢測(cè)和篩選;
圖6是本發(fā)明實(shí)施例手勢(shì)決策樹(shù)示意圖;
圖7是本發(fā)明實(shí)施例手勢(shì)庫(kù)中的九種手勢(shì)圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實(shí)施例基于視覺(jué)的手勢(shì)識(shí)別方法,如圖1所示,具體包括以下步驟:
步驟1,通過(guò)Kinect傳感器攝取視頻流,用OpenCV的功能獲得深度數(shù)據(jù)和骨骼數(shù)據(jù)。OpenCV(Open Source Computer Vision Library)是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù)。
步驟2,用中值濾波方法對(duì)獲得的深度圖像進(jìn)行預(yù)處理。
步驟3,根據(jù)深度數(shù)據(jù)和骨骼數(shù)據(jù)對(duì)手部區(qū)域進(jìn)行提取得到手部區(qū)域二值圖,如圖2所示。
步驟4,根據(jù)邊緣檢測(cè)再把圖像化為二值化的邊緣圖像提取手掌輪廓,如圖3所示。
步驟5,根據(jù)二值圖進(jìn)行手心重置。
步驟6,根據(jù)手掌輪廓信息求出凸包頂點(diǎn)和外接圓,如圖4a和圖4b所示。
步驟7,運(yùn)用分類決策樹(shù)(如圖6所示)和手勢(shì)庫(kù)中的九種手勢(shì)(如圖7 所示)進(jìn)行匹配,從而識(shí)別手勢(shì)。
如上所述的步驟1中,Kinect傳感器的使用和圖像預(yù)處理的步驟是:
步驟1.1,針對(duì)不同的用途,微軟公司先后推出了兩款Kinect傳感器,Kinect for Xbox 360傳感器的有效追蹤范圍是1.2m至3.5m;而Kinect for Windows由于支持近景模式,可有效追蹤0.4m至3.5m。本專利選擇Kinect for Windows和PC機(jī)連接。
步驟1.2,通過(guò)應(yīng)用程序開(kāi)始遍歷設(shè)備狀態(tài)。
步驟1.3,初始化深度數(shù)據(jù)流,本專利初始化為640×480分辨率,每秒30楨。
步驟1.4,通過(guò)應(yīng)用程序開(kāi)始捕獲深度數(shù)據(jù)和骨骼數(shù)據(jù)。
如上所述步驟2中,中值濾波處理圖像的步驟是:
步驟2.1,先確定一個(gè)像素點(diǎn)p(i,j)為中心的鄰域窗口w。
步驟2.2,繼而把11×11鄰域窗口w中所有像素的灰度值從小到大排列,并選擇中間值作為中心像素點(diǎn)p(i,j)的灰度新值,窗口移動(dòng)時(shí)就能夠通過(guò)中值濾波對(duì)圖像進(jìn)行平滑處理。
步驟2.3,本算法所依據(jù)的中值濾波的基本公式是:
f(i,j)=median{f(r,s)|f(f,s)∈Nf(i,j)}
其中f(r,s)表示鄰域窗口w內(nèi)任意像素點(diǎn)的灰度值,Nf(i,j)表示f(i,j)的實(shí)心鄰域。
如上所述步驟3中,手部區(qū)域提取的步驟是:
步驟3.1,根據(jù)追蹤到的手心和關(guān)節(jié)點(diǎn)坐標(biāo)位置。
步驟3.2,創(chuàng)建一個(gè)包含手部信息的矩形包圍盒。
步驟3.3,然后在這個(gè)矩形包圍盒內(nèi)以手心關(guān)節(jié)點(diǎn)位置開(kāi)始向鄰域逐個(gè)遍 歷像素直到個(gè)數(shù)為空,得到手部區(qū)域二值圖。
如上所述步驟3.1中,追蹤手心和關(guān)節(jié)點(diǎn)位置的步驟是:
步驟3.1a,在NITE庫(kù)中Hand tracker類提供了手勢(shì)檢測(cè)和手部位置跟蹤功能,調(diào)用算法對(duì)手勢(shì)進(jìn)行檢測(cè)。
步驟3.1b,在對(duì)手勢(shì)進(jìn)行檢測(cè)之后調(diào)用Hand tracker類的startHandTracking()函數(shù)對(duì)手部進(jìn)行追蹤。
如上所述步驟3.2中,創(chuàng)建一個(gè)包含手部信息的矩形圍盒的步驟是:
步驟3.2a,獲得手心Z坐標(biāo)深度值。
步驟3.2b,根據(jù)如下公式建立包圍盒子
Width(W(z))=Heigth(W(z))=2*min{max{80-0.2*(Z-640),60},80}其中W(z)為所獲取的包圍盒。
如上所述步驟3.3中,獲取手部區(qū)域二值圖的步驟是:
步驟3.3a,根據(jù)手心的Z坐標(biāo)深度值對(duì)深度圖像進(jìn)行分割,
其中,handmask是一個(gè)8位的單通道圖像,手部候選區(qū)域(即手部區(qū)域二值圖)的像素值為255,其它區(qū)域?yàn)?,式子中的閥值設(shè)定為100mm。
步驟3.3b,再將手心點(diǎn)投影到2D空間根據(jù)手的大小做一次二維分割,算法如下:
步驟3.3c,對(duì)handmask所有閉合區(qū)域的面積進(jìn)行統(tǒng)計(jì),設(shè)置成人手掌的面積閥值200mm,剔除掉小于該閥值的連通區(qū)域,最終獲得較準(zhǔn)確地手掌區(qū)域。
如上所述步驟4中,邊緣檢測(cè)的步驟是:
步驟4.1,使用Hysteris閥值對(duì)邊緣像素進(jìn)行判斷,對(duì)于每個(gè)候選單元, 如果則標(biāo)記為邊緣像素,幅度邊緣
步驟4.2,如果剩下的候選邊緣在3×3的鄰域范圍內(nèi),那么至少還存在著一個(gè)鄰像素為邊緣像素,則把它標(biāo)記為邊緣。
步驟4.3,重復(fù)第二步操作,直到所有的邊緣像素都被標(biāo)記,剩下的則被標(biāo)記為非邊緣像素。
步驟4.4,經(jīng)過(guò)上面步驟,就把圖像變?yōu)榱硕祷倪吘増D像。
步驟4.5,對(duì)非連續(xù)的邊緣進(jìn)行修補(bǔ)和過(guò)濾就得到手掌輪廓。
步驟4.6,基于OpenCV的cvFindContours函數(shù)提取手部輪廓。
如上所述步驟5中,手心重置的步驟是:
步驟5.1,利用細(xì)化方法中的距離變換對(duì)二值化的邊緣圖像進(jìn)行分析。
步驟5.2,OpenCV選擇棋盤(pán)距離l(r)=r原理的處理函數(shù)進(jìn)行圖像處理。
如上所述步驟6中,求凸包頂點(diǎn)的步驟是:
步驟6.1,尋找所有邊緣點(diǎn)中Y坐標(biāo)值最小的點(diǎn),如果最小Y坐標(biāo)值不止一個(gè)時(shí),就在這幾個(gè)點(diǎn)中選取X坐標(biāo)值最小的點(diǎn),并將此點(diǎn)設(shè)為基準(zhǔn)點(diǎn)P。
步驟6.2,把所有的邊緣點(diǎn)與基準(zhǔn)點(diǎn)P連接起來(lái),同時(shí)計(jì)算所有連線和X坐標(biāo)之間的夾角,按照夾角的大小排序,將所有邊緣點(diǎn)依次編號(hào)為P[0],P[1]…P[n]。
步驟6.3,假設(shè)存在著一條虛擬路徑從P[0]點(diǎn)依次連接到P[n]點(diǎn),我們需要判斷前一點(diǎn)到后一點(diǎn)的方向是向左轉(zhuǎn)還是向右轉(zhuǎn)。如果是向右轉(zhuǎn),則意味著前一點(diǎn)不屬于凸包集;如果向左轉(zhuǎn),我們就判定前一點(diǎn)為凸包點(diǎn),并把它加入堆棧。以此算法處理所有的邊緣點(diǎn),最后堆棧中得到凸包集。
步驟6.4,對(duì)數(shù)據(jù)進(jìn)行細(xì)檢測(cè)篩選更為精確的指尖點(diǎn)。把第一個(gè)凸包P1, 第二個(gè)凸包P3作為結(jié)束點(diǎn),而P1和P3之間的缺陷點(diǎn)P2作為深度點(diǎn)。起始點(diǎn)和結(jié)束點(diǎn)都有可能是指尖點(diǎn)。假設(shè)(P2,P1),(P2,P3)的向量分別為V1和V2,通過(guò)計(jì)算V1,V2之間的夾角和它們的長(zhǎng)度之和,如果V1,V2的夾角小于90°,并且兩個(gè)向量的長(zhǎng)度之和大于100mm,那么起始點(diǎn)和結(jié)束點(diǎn)就可判定為指尖點(diǎn)(如圖5所示)。
步驟6.5,運(yùn)用算法算出外接圓。
如上所述步驟6.3中,對(duì)于向左轉(zhuǎn)或是向右轉(zhuǎn)的判別使用的是向量叉乘法,假設(shè)三個(gè)連續(xù)的點(diǎn)分別是P0(x0,y0),P1(x1,y1),P2(x2,y2),形成一個(gè)夾角向量為((P0,P1),(P0,P2)),向量叉乘的計(jì)算如式表示:
d=(P0,P1)×(P0,P2)=(x1-x0)*(y2-y0)-(x2-x0)*(y1-y0)
如果d>0,則(P0,P1),(P0,P2)為右轉(zhuǎn);如果d<0,則為左轉(zhuǎn);如果d=0,則為直線。
如上所述步驟7中,手勢(shì)識(shí)別的步驟是:
步驟7.1,利用算法計(jì)算手勢(shì)特征,調(diào)用Opencv中有效凸缺陷數(shù)(DCD)方法、有效凸缺陷特征夾角(DCDA)方法、輪廓與其外接圓面積比(CCR)方法和凸包有效外接圓頂點(diǎn)數(shù)(CD-VC)4個(gè)方法來(lái)計(jì)算并獲取參數(shù)。
步驟7.2,建立分類決策樹(shù)(如圖6所示),其識(shí)別流程所示,根據(jù)DCD參數(shù)對(duì)不同手勢(shì)第一次加以區(qū)分,對(duì)于DCD參數(shù)相同的手勢(shì)再通過(guò)DCDA參數(shù)進(jìn)行區(qū)分,若依然無(wú)法區(qū)別則利用CCR參數(shù)區(qū)分,最后使用CD-VC為參數(shù)加以區(qū)分。
具體識(shí)別流程,當(dāng)DCD為0時(shí)判斷CCR的值,CCR大于0.55表明為手勢(shì)2,當(dāng)CCR小于0.35時(shí)為手勢(shì)4,當(dāng)大于0.35并小于0.55為手勢(shì)3;
當(dāng)DCD=1時(shí),判斷DCDA的角度,DCDA小于90并且CCR大于等于0.45時(shí) 為手勢(shì)3,CCR小于0.45時(shí)為手勢(shì)5,當(dāng)DCDA大于等于90并且CDVC等于2則為手勢(shì)7,CDVC不等于2則為手勢(shì)4;
當(dāng)DCD等于4時(shí)為手勢(shì)1;
當(dāng)DCD等于2,DCDA小于90為手勢(shì)6,DCDA大于等于90為手勢(shì)5;
當(dāng)DCD等于3,DCDA小于90為手勢(shì)8,DCDA大于90為手勢(shì)9。
為了做到用戶友好,手勢(shì)識(shí)別應(yīng)不受手勢(shì)旋轉(zhuǎn)角度以及手勢(shì)區(qū)域遠(yuǎn)近的影響,由于本算法使用DCD、CCR參數(shù)為比值,這使得本發(fā)明方法具有良好的自適應(yīng)性;DCDA與CDVC參數(shù)本身既具有縮放以及旋轉(zhuǎn)不變性。
應(yīng)當(dāng)理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)上述說(shuō)明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。