摘要:隨著科技的發(fā)展,各種手寫輸入、語言輸入法不斷涌現(xiàn)。計算機的操作方式也越來越接近自然言語。手勢識別系統(tǒng)由數(shù)學攝像頭作為輸入設備,以為人體動作為操作指令,指揮操作計算機系統(tǒng)動作。人體動作通過數(shù)學攝像頭,轉化為計算機能識別的二進制圖像信息,經過圖像處理算法,使人們的操作意圖能被計算機理解。
本文所實現(xiàn)手勢識別,利用OpenCV提供的各種圖像處理算法,將從數(shù)學攝像頭采集的圖像視頻信息,通過圖像濾波,圖像分割等算法,提取到有用的手形信息,再對其進行輪廓特征分析,運動信息分析。得出圖像視頻的操作意圖,并轉化為計算機指令,傳遞給操作系統(tǒng)。實現(xiàn)了直接由人體動作操作計算機的目的。
關鍵詞:圖像濾波;圖像分割;輪廓特征分析;OpenCV
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9599 (2012) 21-0000-03
隨著計算機技術的不斷發(fā)展,以及計算機使用的不斷普及,與計算機的交互方式也在不斷地發(fā)生著變化。手勢語言是一種依靠動作和視覺進行交流的特殊語言,它還是一種包含信息量最多的人體語言,它與語音和書面表語言等自然表達語言的表達能力相同。
感知物體的顯著性,可以通過物體的顏色、紋理、邊緣、形狀來進行描述[1]。當今感知人體語言識別技術比較流行并應用在游戲操作中,稱為體感游戲。體感游戲同樣帶有攝像頭等感應設備,通過識別人體的肢體動作,控制進行游戲。一般體感游戲著重于技體操作進行識別,對手形等細節(jié)并沒太多的處理。本文著重于對人們手形識別的研究,實現(xiàn)以手形對計算機進行操作。
1 圖像處理基礎技術
1.1 手勢圖像與背景分割
圖像分割(Image segmentation)是機算機領域中極為重要的內容之一,是實現(xiàn)自動圖像分析時首先需完成的操作[2]。在現(xiàn)實環(huán)境中,由于各樣不同的背景、光線、陰暗等變化,使得手勢圖像從背景中分割出來相當困難。
經研究發(fā)現(xiàn),人類皮膚的顏色在色度空間中的分布被證明是聚類在色度空間中一個較小的區(qū)域中[3]。為了減少環(huán)境的影響,一般我們會使用HSV顏色空間來進行了分割處理。由于HSV顏色空間中,V代表了亮度,它對就應于全部光能且可量化為光源亮度[4]。這樣的話,我們就能去除光線帶來的一部分影響。
經過前人對圖像算法的研究,我們可以通過多種途徑對圖像手形前景與背景進行分割:
1)基于像素顏色的分割方法;
2)基于幀差計算分割方法;
3)基于建立背景模型的分割方法。
1.2 手勢預處理
圖像去噪的一個重要任務就是去除噪聲的同時盡可能地保留圖像的邊緣和細節(jié)[5]。為了更好地對手勢區(qū)域進行識別,需要對采集得到的圖像進行一些處理,使得分割出來的手勢區(qū)域更加完整。
(1)圖像平滑處理
平滑處理也稱為模糊處理,是一項經常使用的圖像處理技術。OpenCV提供cvSmooth個函數(shù)實現(xiàn)了圖像平滑處理,該函數(shù)實現(xiàn)了中值濾波、高斯濾波、雙邊濾波三種濾波的方法。
(2)圖像形態(tài)濾波學
圖像形態(tài)學包括膨脹和腐蝕、開運算和閉運算等。開運算和閉運算作為數(shù)學形態(tài)學非常重要的運算,不但擁有腐蝕和膨脹的功能,同時還具有本身的多項圖像處理和分析特征[6]。
2 算法具體實現(xiàn)
2.1 算法思路
在手勢識別系統(tǒng)中,第一步,我們希望獲取到完整的手勢形狀,根據手勢形狀輪廓特征,或者直方圖特征等,對手勢進行識別。對于手勢的運動識別,更可使用幀差分圖像的方式,獲取到手勢運動的方向。
2.2 圖像分割算法實現(xiàn)
圖像分割算法使用CodeBook算法實現(xiàn)。和對圖像預處理相似地,我們也可以通過平滑、閾值等方法,對分割后的圖像再度進行濾波,去噪等處理。而在對圖像分割后的結果進行處理,使用圖像形態(tài)學進行處理更為有效。在圖像處理基礎技術中,已經討論過相關的圖像形態(tài)學方法,通常使用開運算或閉運算。在存在連續(xù)噪聲雜點時。使用開運算對消降雜點尤為有效。