基于DSP的手勢識別電視遙控器設計
通過這種處理方法,原圖像中的小塊噪聲和椒鹽噪聲基本被消除,手部圖像邊緣的某些像素點也會被當作噪聲消除,但是不影響后續處理。經過噪聲消除后的圖像如圖10( a)所示。使用同樣的處理算法,可以得到后一幀的圖像處理結果如圖10( b)所示。
本文引用地址:http://www.cqxgywz.com/article/271879.htm3. 2特征提取及動作識別
獲取只含手部運動區域的圖像Hk( x,y)和Hk+1( x,y)后,掃描出手部圖像邊界,通過比較與計算判斷手擺放位置和區域中心位置Pk( xk,yk)和Pk+1( xk+1,yk+1)。手部擺放位置可以判斷手的上下或是左右運動。圖像處理和特征提取流程圖如圖11所示。
( 1) Hk+1( x,y )和Hk( x,y )是相同的縱向擺放位置,手部在左右運動。
( 2)根據列坐標的大小來判斷手左右方向的移動如下:

判斷上下運動的算法與判斷左右類似。若出現無法判斷的情況,則重新采集圖像,進行處理和判斷,直到能夠判斷方向為止。

圖11圖像處理算法流程圖
3. 3紅外遙控算法原理
本系統選擇最常用的一種編碼方式uPD6121進行學習、解碼和發射。紅外遙控器的紅外信號一般都是通過38~40kHz的載波調制而成。先對接收到的紅外信號進行解調,再記錄遙控編碼信號的脈沖寬度。學習子程序的流程圖如圖12所示。采用計數器對信號高低電平計數的方法采集數據并保存。
發射模塊根據DSP2發送的指令找到對應的編碼信號在外擴RAM的位置,將編碼調入內存,然后通過編碼發送子程序,將編碼調制在38 kHz載波上發送出去。用定時中斷0產生38 kHz的載波信號,用學習到的遙控編碼信號的低電平去控制載波輸出,此時定時器0定時長度由相應的遙控信號低電平寬度計數值確定。如果需發射的遙控信號為高電平,關定時中斷0;如果為低電平,則開定時中斷0,從而實現遙控信號的脈寬調制發射。發射子程序流程如圖13所示。

圖12學習子程序流程圖

圖13發射子程序流程圖
3. 4網卡驅動程序及上位機軟件設計
3. 4. 1網卡驅動程序及UDP協議實現
RTL8019AS已經實現以太網通信物理層功能,只需初始化芯片相應的寄存器,編寫DSP下驅動,便可啟動RTL8019AS.本系統采用TCP /IP協議族中的UDP協議( user datagram protocol)進行通信,實現通過網絡把DSP采集到的圖像信息發送到上位機。
3. 4. 2上位機軟件編寫
上位機軟件采用C#語言編寫,實現UDP通信協議。上位機軟件實現接收下位機的數據,還原圖像數據并顯示等功能。同時,上位機還可以向下位機發送命令,方便系統調試。
3. 4. 3圖像數據發送及還原
下位機采用UDP發送數據,把數據的每一行作為一個UDP數據包,一幅圖像分成100個數據包進行發送。為了讓上位機完整接收一幅圖像,在每幅圖像開始發送之前,先發送一個規定的幀開頭數據包,在每一幅圖像發送完畢之后,也發送一個規定幀結尾數據包。上位機根據這些標定將100個數據包利用C#語言的相關函數,轉換一定的圖片格式,在上位機進行顯示。
萬能遙控器相關文章:萬能遙控器代碼
紅外遙控器相關文章:紅外遙控器原理 攝像頭相關文章:攝像頭原理











評論