2011年6月23日 星期四

期末專題報告

遊戲: 打地鼠

玩法: 只要用任何東西去觸碰到視訊上的地鼠,地鼠就會消失,每打到一隻則得5分,遊戲時間限制為50秒,時間道則遊戲結束,比誰的分數比較高。

原理: 先從視訊視窗擷取30張影像後做平均當作背景影像,然後背景影像與視訊式窗的影像做相減,則會出現一個全黑的影像(雖然有兩張影像有差別但由於相減得值未超過iThreshold值所以不會出現白點),再利用此以像與視訊影像做比對,如果有不同則會出現白點,利用此白點來判斷是否接觸到地鼠。



心得與困難:

這次的專題報告做得不是做得很好,以幾周沒有注意聽老師聽課,有一點跟不是進度,加上自己不常用 BCB 來撰寫程式,所以寫起來更棘手。

寫得過程中遇到了蠻多的困難,

(1)物件影像底色消除,寫的時候一直出現記憶體的問題,沒有辦法解決。

(2)影像雜訊過多導致許多錯誤的判斷,也花了很多時間來處理,但只要太靠近鏡頭,攝影機就
會自動調整曝光,導致兩張影像會出現極大的差異導致判斷錯誤。

(3)地鼠被打到後如何重新再跑出來,有試過利用counter與timer來解決但是只要一做到counter加減法部分視訊就會當掉,只好用一個整數做加減法來取代,只是效果不太好。

雖然說自己沒有做出像別人一樣可以透過鍵盤以及滑鼠事件來控制小遊戲,到至少我還是自己把這隻程式給完成,雖然說還是有bug,但還是學習到了許多的除錯方法,以及程式邏輯。

沒有留言: