亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種攝像頭條件下獲取遠程手勢軌跡的方法

文檔序號:8527845閱讀:561來源:國知局
一種攝像頭條件下獲取遠程手勢軌跡的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機人機交互界面領(lǐng)域,具體涉及一種攝像頭條件下獲取遠程手勢 軌跡的方法。
【背景技術(shù)】
[0002] 在像平面上,每幀手勢有一個重心位置,當手運動時,各幀手勢重心位置形成一個 軌跡,該軌跡就是手勢軌跡。目前獲取手勢軌跡主要方法是采用卡爾曼濾波器或粒子濾波 器等跟蹤器跟蹤每幀手勢重心位置,進而得到手勢軌跡。該方法存在的主要問題是:它們需 要逐幀處理,所以速度慢,延遲嚴重,影響手勢軌跡的實用性。因此,人手在運動過程中,連 續(xù)的手勢質(zhì)心點形成手勢運動軌跡曲線?,F(xiàn)有算法主要是利用跟蹤器逐幀跟蹤手勢質(zhì)心得 到手勢運動軌跡,算法速度慢,時間延遲。

【發(fā)明內(nèi)容】

[0003] 本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)中存在的難題,提供一種攝像頭條件下獲取 遠程手勢軌跡的方法,利用攝像頭捕獲人手運動圖像,獲得平滑的手勢運動軌跡曲線。
[0004] 本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
[0005] 一種攝像頭條件下獲取遠程手勢軌跡的方法,包括:
[0006] (1).通過攝像頭獲得n幀bmp圖像,以及圖像的寬度、高度、存放數(shù)據(jù)的指針;
[0007] (2).依次對n幀圖像進行處理,獲得手勢圖像的質(zhì)心坐標;
[0008] (3).輸出步驟⑵得到的n幀手勢圖像的n幀質(zhì)心坐標,然后將n幀質(zhì)心坐標經(jīng) 過三次B樣條擬合得到三次B樣條擬合函數(shù);
[0009] (5).通過三次B樣條擬合函數(shù),畫出n幀圖像的軌跡曲線。
[0010] 所述步驟(2)是這樣實現(xiàn)的:
[0011] (21)獲得圖像的歷史幀數(shù)n、n幀圖像序列的首地址、圖像的寬度和高度;
[0012] (22)對圖像進行處理,將手勢圖像從背景圖像中分割出來;
[0013] (23)對分割出的手勢圖像去噪處理;
[0014] (24)對手勢圖像進行腐蝕、膨脹形態(tài)學處理;
[0015] (25)獲得手勢圖像的質(zhì)心坐標并將質(zhì)心坐標存放在數(shù)組CentroidCurve[n];
[0016] (26)循環(huán)步驟(22)-(26),直到處理完n幀圖像序列;
[0017] (27)返回n幀圖像的手勢軌跡坐標CentroidCurve []。
[0018] 所述步驟(22)是這樣實現(xiàn)的:
[0019] (A1)、獲得圖像的首地址和圖像的高度、寬度及每行字節(jié)數(shù);
[0020] (A2)、遍歷圖像上每個像素點,求出像素點的b、g、r分量;
[0021] (A3)、根據(jù)手勢的膚色模型,判斷圖像中每個像素的r、g、b分量,若滿足r>95&&g > 40&&b > 20&&abs(r-g) > 15&&r > g&&r > b條件,則判斷為膚色,將像素點置為手勢顏 色,否則判斷為非膚色,將像素點置為背景色;
[0022] (A4)循環(huán)步驟(A2)到(A3),直到處理完圖像的全部像素點。
[0023] 所述步驟(23)采用8鄰域去噪處理方法實現(xiàn)去噪處理。
[0024] 所述步驟(23)是這樣實現(xiàn)的:
[0025] (B1)獲得圖像的首地址和圖像的高度、寬度及每行字節(jié)數(shù);
[0026] (B2)為防越界,不處理最左邊、最右邊、最上邊和最下邊四邊的像素,從第2彳丁第2 列開始,遍歷圖像的像素點;
[0027] (B3)求出像素點的b、g、r分量,判斷像素點是背景色還是分割的手勢顏色,如果 是手勢顏色,則計算該像素點的上、下、左、右、左上、左下、右上、右下八個方向的像素點對 應的b、g、r分量;
[0028] (B4)判斷八個鄰域中,如果有大于或等于4個點是白點,則認為此點是噪聲點,并 將該點置為背景色;
[0029] (B5)循環(huán)步驟(B3)~(B4),直到處理完原圖的全部像素點。
[0030] 所述步驟(24)中的腐蝕處理如下:
[0031] (C1)獲得圖像的首地址和圖像的高度、寬度及每行字節(jié)數(shù);
[0032] (C2)開辟一塊內(nèi)存緩沖區(qū);
[0033] (C3)定義一個一維數(shù)組B[9]:
[0034] B[9] = {1,0,1,
[0035] 0,0,0,
[0036] 1,0,1}
[0037] (C4)為防越界,不處理最左邊、最右邊、最上邊和最下邊四邊的像素,從第2彳丁第2 列開始,將指向的目標圖像的像素的值賦值給目標點像素點,檢查這個像素點,利用結(jié)構(gòu)元 素數(shù)組判斷該像素點的前一點、后一點、上一點、下一點這四點中是否有背景點,有則將檢 查的像素點的灰度值賦值為255,否則保持不變;
[0038] (C5)循環(huán)步驟(C4),直到處理完原圖的全部像素點;
[0039] (C6)將結(jié)果暫存在內(nèi)存緩沖區(qū)中;
[0040] (C7)將結(jié)果從內(nèi)存復制到原圖的數(shù)據(jù)區(qū)。
[0041] 所述步驟(24)中的膨脹處理是這樣實現(xiàn)的:
[0042]01)獲得圖像的首地址和圖像的高度、寬度及每行字節(jié)數(shù);
[0043]02)開辟一塊內(nèi)存緩沖區(qū);
[0044] (D3)定義一個一維數(shù)組:
[0045] B[9] = {1,0,1,
[0046] 0,0,0,
[0047] 1,0,1}
[0048] (D4)為防越界,不處理最左邊、最右邊、最上邊和最下邊四邊的像素,從第2彳丁第2 列開始,將指向的目標圖像的像素的值賦值給目標點像素點,檢查這個像素點,利用結(jié)構(gòu)元 素數(shù)組判斷該像素點的前一點、后一點、上一點、下一點這四點中是否有相交點,有則將檢 查的像素點的灰度值賦值為〇,否則保持不變;
[0049] (D5)循環(huán)步驟(D4),直到處理完原圖的全部像素點;
[0050] (D6)將結(jié)果暫存在內(nèi)存緩沖區(qū)中;
[0051] (D7)將結(jié)果從內(nèi)存復制到原圖的數(shù)據(jù)區(qū)。
[0052] 所述步驟(25)中獲得手勢圖像的質(zhì)心坐標是這樣實現(xiàn)的:
[0053] (E1)獲得圖像的首地址和圖像的高度、寬度及每行字節(jié)數(shù);
[0054] (E2)遍歷圖像,求得所有手勢點的x、y值之和并分別統(tǒng)計手勢點的個數(shù);
[0055] (E3)將手勢點x、y值的和,除以手勢點個數(shù)得到質(zhì)心坐標。
[0056] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:現(xiàn)有技術(shù)主要利用跟蹤器逐幀跟蹤手勢 質(zhì)心,根據(jù)手勢質(zhì)心序列形成手勢軌跡。本發(fā)明在獲得手勢質(zhì)心序列的基礎(chǔ)上利用三次B 樣條對手勢質(zhì)心序列進行擬合,得到平滑的手勢運動軌跡。
【附圖說明】
[0057] 圖1本發(fā)明方法的步驟框圖。
【具體實施方式】
[0058] 下面結(jié)合附圖對本發(fā)明作進一步詳細描述:
[0059] 如圖1所示,本發(fā)明方法包括:
[0060] 1.通過攝像頭獲得n幀bmp圖像,及圖像的寬度、高度、存放數(shù)據(jù)的指針。
[0061] 2.對n幀圖像依次進行如下處理:
[0062] {
[0063] (1)利用膚色模型(即 r > 95&&g > 40&&b > 20&&abs(r-g) > 15&&r > g&&r > b),提取手勢圖像(某像素點滿足膚色模型,則認為是手勢,否則認為是背景),二值化處 理,即將膚色像素點置成一種顏色(如紅色),背景像素點置成另一種顏色(如白色),顏色 改變是通過像素點對應的r、g和b分量來進行設(shè)置的;
[0064] (2)對提取出的手勢圖像(手勢圖像是指從背景提取出的手勢,手勢區(qū)域置成紅 色,背景區(qū)域置成白色)進行8鄰域去噪處理得到去噪處理后的手勢圖像。
[0065] (3)對所述去噪處理后的手勢圖像進行腐蝕、膨脹形態(tài)學處理。
[
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1