基于視覺的手勢自動識別系統(tǒng)研究與應(yīng)用.doc
基于視覺的手勢自動識別系統(tǒng)研究與應(yīng)用,摘要手勢是我們?nèi)粘I钪腥伺c人交互的重要方式之一。隨著計(jì)算機(jī)的不斷發(fā)展,人與計(jì)算機(jī)的交互越來越成為計(jì)算機(jī)應(yīng)用領(lǐng)域的熱門研究方向?;谟?jì)算機(jī)視覺的手勢識別為滿足新一代人機(jī)交互應(yīng)用而生。然而,由于手勢具有時空上的多樣性和不確定性,使手勢成為一種復(fù)雜的可變形體,所以目前這種人機(jī)交互方式理論...
內(nèi)容介紹
此文檔由會員 leany168 發(fā)布基于視覺的手勢自動識別系統(tǒng)研究與應(yīng)用
摘要
手勢是我們?nèi)粘I钪腥伺c人交互的重要方式之一。隨著計(jì)算機(jī)的不斷發(fā)展,人與計(jì)算機(jī)的交互越來越成為計(jì)算機(jī)應(yīng)用領(lǐng)域的熱門研究方向?;谟?jì)算機(jī)視覺的手勢識別為滿足新一代人機(jī)交互應(yīng)用而生。然而,由于手勢具有時空上的多樣性和不確定性,使手勢成為一種復(fù)雜的可變形體,所以目前這種人機(jī)交互方式理論還不成熟,還處在實(shí)驗(yàn)階段,能夠識別的范圍比較小,這是一個極富挑戰(zhàn)性的研究課題。
本系統(tǒng)中的手勢識別部分采用matlab編寫。系統(tǒng)通過控制攝像頭完成拍照并獲取相應(yīng)手勢圖像。然后對手勢圖像進(jìn)行顏色空間轉(zhuǎn)換和對比度調(diào)節(jié)等預(yù)處理。利用基于H值的膚色分割法和最大類間方差法圖像分割法相結(jié)合將手勢從圖像中分割出來。提取手勢外接矩形框長寬、中心坐標(biāo)和手勢形心等特征。根據(jù)外接矩形框的長寬比、長寬關(guān)系和手勢中心坐標(biāo)和手勢形心坐標(biāo)的關(guān)系對手勢的所處的角度進(jìn)行分類計(jì)算。最后根據(jù)計(jì)算出來的手勢角度識別出手勢代表的方向,并對該方向進(jìn)行編碼后寫入txt文件中。
小車運(yùn)動方向控制中無線發(fā)射方向編碼部分采用c++編寫。程序首先不斷檢索txt文件,判斷是否有發(fā)射手勢方向編碼的命令。當(dāng)檢索到有該命令時,程序控制Zig-100無線通訊模塊發(fā)射識別出來的手勢方向編碼。小車上Zig-100無線通訊模塊接收手勢方向編碼,控制小車進(jìn)行運(yùn)動。
關(guān)鍵詞:計(jì)算機(jī)視覺,手勢分割,特征提取,手勢識別
The research and application of the hand gesture recognition system based on vision
Abstract
Hand gesture is an important way of human interaction in our daily lives. Along with the computer technique developing, the interaction between human and computer is increasingly becoming an important application research in the computer field. Computer vision-based gesture recognition applications will meet the new generation of human-computer interactive. However, the diversity and uncertainty of hand gesture in the space-time makes hand gesture be a complex non-rigid object. So, the current human-computer interaction theory, which is still in the experimental stage, is not mature. The range to identify hand gesture is relatively small. This is a challengeable research topic.
The program of hand gesture recognition system is finished by matlab. The image of hand gesture is achieved by controlling camera. Then, the preprocessing that includes color space conversion, contrast adjustment and so on is executed to image. Hand gesture is separated from image by the combination of segmentation method based on H value of skin color and segmentation method by using Otsu. The features of the hand’s external rectangle including length, width and center coordinate and the feature of gesture centric are extracted. According to the ratio of length and width, size relation between length and width and the relationship between center coordinate and centroid coordinate, the angle that hand gesture locates is calculated. Finally, the direction that the hand gesture stands for is identified and encoded under the angle calculated. At the same time, the code is written to the txt file.
The direction control code of car movement is compiled by c++ and is transmitted to control the car by wireless in the computer. The txt file is continuously finding the corresponding command code to determine whether there is command of transmitting the code of hand gesture direction. When the command is obtained, the corresponding program will control the wireless communication module Zig-100 to transmit the code of hand gesture direction identified. The wireless communication module Zig-100 in the car will receive the code to control the car to move.
Keywords: Computer vision, Hand segmentation, Feature extraction, Hand gesture recognition
目錄
摘要 I
Abstract II
目錄 III
第1章 緒論 1
1.1 背景 1
1.2研究意義 1
1.3 國內(nèi)外發(fā)展現(xiàn)狀 2
1.4 本課題的主要工作 2
第2章 手勢識別系統(tǒng)原理 3
2.1 手勢定義 3
2.2 手勢識別系統(tǒng)的組成 3
2.3 手勢識別中的各項(xiàng)技術(shù) 4
2.3.1 手勢圖像的獲取 4
2.3.2 手勢圖像的預(yù)處理 4
2.3.3 手勢圖像的分割 6
2.3.3.1基于H值的膚色分割 6
2.3.3.2最大類間方差法圖像分割 7
2.3.3.3 兩種分割圖像的與操作 7
2.3.4 手勢圖像的特征提取 8
2.3.5 手勢圖像的分類和識別 8
第3章 手勢識別系統(tǒng)的GUI用戶界面設(shè)計(jì) 11
3.1 matlab GUI軟件界面開發(fā)簡介 11
3.1.1 GUI簡介 11
3.1.2 GUI用戶界面各個控件的說明 12
3.2 手勢識別系統(tǒng)在matlab上的實(shí)現(xiàn) 13
3.2.1 圖像預(yù)覽、拍照、保存功能的實(shí)現(xiàn) 13
3.2.2 手勢圖像的分割實(shí)現(xiàn) 13
3.2.3 手勢圖像的特征提取實(shí)現(xiàn) 16
3.2.4 手勢圖像的分類識別的實(shí)現(xiàn) 18
3.2.5 手勢識別結(jié)果編碼和無線發(fā)射的控制命令 19
3.3 手勢識別部分的界面及使用方法 20
3.4 手勢識別系統(tǒng)的調(diào)節(jié)方法 20
第4章 手勢識別結(jié)果編碼的無線發(fā)射 22
4.1 c++軟件概述 22
4.1.1 數(shù)據(jù)的輸入和輸出 22
4.1.2 c++文件操作 22
4.2 c++在手勢識別結(jié)果編碼上的無線發(fā)射控制 23
4.2.1 打開COM口 24
4.2.2 控制命令的獲取 24
4.2.3 控制命令的顯示和手勢編碼的無線發(fā)送 24
第5章 小車運(yùn)動方向的控制 26
5.1 手勢識別結(jié)果對小車運(yùn)動的定義 27
5.2 小車行為控制編程 27
5.2.1 小車前進(jìn)子程序 28
5.2.2 小車停止子程序 29
5.2.3 小車右轉(zhuǎn)子程序 29
5.2.4 小車左轉(zhuǎn)子程序 30
5.3 GUI界面對小車的控制 30
結(jié)論 32
謝辭 33
參考文獻(xiàn) 34
附錄1 手勢識別系統(tǒng)界面 36
附錄2 手勢識別系統(tǒng)主要程序 37
附錄3 手勢識別結(jié)果編碼的無線發(fā)射主要程序 45
附錄4 小車運(yùn)動方向的控制主要程序 47