2010年6月13日 星期日

期末專案_左右大對抗

專案名稱:紅白大對抗之左右版

遊戲說明:當遊戲進行時,將會聽到聲音指令,在指定時間內,左右手按其指令舉高或低於標準線,即可得分。


心得
這是期末專題是延伸期中專題而來,把顏色辨識的部分換掉,取而代之的是左右手是否有超過頭不來判斷左右手是否有舉起;這部分跟老師之前交的上機概念有很雷同的應用,只要多加幾個邏輯判別式就可以達成,先判斷頭一開始的高度接著在視窗上畫出頭部標準線,第二個步驟是分別投影左右兩個視窗的x軸和y軸,接著記錄比較其y軸的高度即可完成上述的要求;只是後來沒注意到頭部會影響到左右手的投影,玩家必須不能太靠近鏡頭否則頭的部分會影響到,後來想出的解決辦法應該是要把左右視窗投影的範圍縮小,不要偵測全部的視窗,這樣測出來誤判的機會我想會大大縮小,也讓這遊戲更加人性化;不過整個遊戲裡頭最頭痛的還是光線的部分,要找到合適的位置進行遊戲是有點困難的事情,光線太明亮的地方,會讓投影整個就偏掉了,必須重新開始執行遊戲,這部分的解決,讓我想到的是老師在課堂上測試真正的左右手辨識,只要用左右手追蹤我想可以完全無視光線的因素立即比對其高度是否有超越頭部,不過其演算法沒有很瞭解就放棄了該念頭(殘念);最後感到最奇怪的是cvFlip()這個函數,我在家要寫下這個函數畫面才不會左右顛倒,但是到了學校卻要把這個函數砍掉才不會左右顛倒,這實在是做這個專題的疑問吧,不過總體而言對這個專題很感興趣,也可以做很多的推廣跟應用,之後暑假有時間的話,會想要試著寫寫真正的左右手辨識,相信會是很不小的成就。


Demo影片



沒有留言:

張貼留言