顯示具有 495511337 標籤的文章。 顯示所有文章
顯示具有 495511337 標籤的文章。 顯示所有文章

2010年6月13日 星期日

HW 8 :Background Subtraction

這是第8個作業,目的是計算人有沒有在人形遮罩裡頭,有的話就加分,

沒有的話就扣分。

而最主要的程式碼是

for (int y=0; yheight; y++) {
uchar* ptr1=(uchar*) (maskImg->imageData +y*maskImg->widthStep);
uchar* ptr2=(uchar*) (difference1->imageData +y*difference1->widthStep);
for (int x=0; xwidth; x++) {
if (ptr1[3*x] != 255 && ptr1[3*x+1] != 255 && ptr1[3*x+2] != 255 )
score3++;
if (ptr2[x] == 255) {
if (ptr1[3*x] == 255 && ptr1[3*x+1] == 255 && ptr1[3*x+2] == 255 )
score1++;
else
score2++;
}
}
}

就可以簡單的算出得失分,這是有趣的作業,開始有了視訊區域偵測的基礎概念。

HW9: X-Projection and Y-Projection Extension



這是虛擬滑鼠的應用作業,投過投影以及背景前景相減的方法找出

物體的中心點,並紀錄其中心點,把所移動軌跡的點畫下來就成為

充滿軌跡的畫布了。

這個作業讓我想到了許多科技電影裡面的視訊特效,

經過這個作業讓我知道其基礎的原始概念,

之後可以試著應用虛擬滑鼠了。

HW10: X-Projection and Y-Projection Extension



這是上機考的延伸作業,目的是把視窗分成兩半,可以同時讓兩位參賽者比較高度。

一開始我是先自動偵測頭頂的高度,再接著畫出頭頂的標準線,並紀錄該位置;

左右手的部分則只是把x軸和y軸的投影範圍更改而已,最後在比較左右手和頭部的高度

即可知道誰高誰低了。

而這個作業也是我們期末專題的靈感來源,是非常值得研究探討的作業。

期末專案_左右大對抗

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

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


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


Demo影片



2010年5月23日 星期日

視訊處理上機考

上機考的時候自己粗心發生了一些小問題,沒有拿到滿分,

不過還好有補救的機會。

這個題目其實沒有說很刁鑽,只是邏輯要很清楚,

上課有認真聽老師解說都可以靠短短幾行程式碼就可以跑出大概的基本架構。

附上影片~請看我的拙作!

2010年5月2日 星期日

期中專案_紅白旗大對抗

Demo影片

遭遇困難
1. 因為需要播放音效的指令檔,但是剛開始會有影音不同步的問題,後來利用延遲的方式改善 這個問題。
2. 關於背景顏色,常常因為燈光的關係無法判斷或判斷錯誤,雖然買了黑色的書面紙當背景, 但還是因為有反光等問題造成判斷錯誤,最後發現用黑色衣服不反光,所以以黑色外套為背 景遮住測值的範圍。

心得
這次專題剛開始很快就決定要做紅白旗的遊戲,因為跟視訊的顏色判斷很符合,而且感覺很有趣。但是在製作過程中因為顏色判斷以及遊戲即時性的問題有遭遇一些困難,最後順利解決感覺很有成就感,而且實際玩也很動感。

未來展望
希望能增加更多指令的音效檔,讓遊戲更複雜刺激,並且增加遊戲關卡以及美化計分的介面。

2010年3月28日 星期日

期中專案

遊戲名稱:紅白大對抗

遊戲內容:
這是一個挑戰體力與反應的極限運動,
使用者會先在左右手配戴上指定顏色的手套,電腦將會顯示出指令,挑戰者必須限時內做出與指令相同的動作,優勝者即可進入挑戰英雄榜。

遊戲範例:
電腦指令::左手舉起來,白旗放下來etc...。
挑戰者須將手套顏色舉起或放下到指定位置。

2010年3月21日 星期日

hw04_視訊偵測






今天學到了有關視訊偵測的部分,上禮拜看到的學習預告是虛擬滑鼠的運用,

原本以為會很難但是沒想到在上過今天的課程以及與同學討論後,

比原本想的簡單許多,也大致了解程式碼背後的運作.


2010年3月14日 星期日

HW03

















今天用的電腦太鈍了,拍個照片就延遲很久,

不過最有心得的是嵌入照片跟讓照片移動,

尤其是看了老師下次課程預告,更被吸引到了。

2010年3月7日 星期日

HW 02


















今天學習到的影像處理技術,剛好是之前專題有所相關,

所以對老師今天上的懂的就比較快,

不過總覺得寫視訊相關的程式很不直觀,

因為要處理的資料量太大了,雖然是用二維陣列去存取,

但是如果要Debug或是用演算法在腦中跑一遍,

就會顯的比較困難,對程式撰寫者來說會有更多的負擔.


2010年2月28日 星期日

HW01
















第一次玩視訊,原本以為操作會很複雜,

沒想到只要下載code就可以上手了,

程式碼也不會太複雜,

希望上完這堂課可以學到更多有關視訊處理的資訊

謝謝老師。