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

2010年6月13日 星期日

課程回顧


在選修本課程之前總覺得視訊處理這個技術所能應用的範圍
不廣,不過上完一學期的視訊處理後才發現原來視訊的應用
範圍很懬,也可以做許多好玩的事。

1.在本課程學到甚麼?
在這一學期的學習過程中,我學到了如何使用OpenCV去處
理視訊所讀到的影像、用互相討論的方式去解決所碰到的問
題以及如何在短時間內規劃以及實作出一個專案的能力,還
有了解到「創新」的重要性。這樣的學習方式或許和以前我
所遇到的學習方式有很大的不同,但是這樣的學習方式可以
達到自我學習的學習方式,這樣的學習方式對於資工系的同
學來說是很重要的能力。

2.在本學期的作業中最喜歡哪一個?
在本學期的作業中,我最喜歡的部分是專案的製作。在製作
專案時,可以學到很多的東西。雖然在製作專案的過程裡面
會碰到許多的問題,但是當完成專案的感覺真的很爽,而且
能夠把上課所學的東西應用在專案上,這樣的話除了可以檢
視是否有完全了解上課的東西之外,還能夠激發我們創新的
能力。

3.對於本課程的建議:
在課程建議的部分,我認為沒有甚麼需要改進的地方了。

期末專題



組員:王棣雲,張哲人

動機:

延伸之前用色彩感應方向的貪食蛇,這次改採用背景相減的方式,利用感應在箭頭相對位置上的物體移動來判斷方向,並且增加了過關跟失敗的音效及視覺效果,同時也美化了背景。

遊戲介紹:

本遊戲共有兩個視窗,一個視窗是物體移動的視窗,另一個視窗則是控制方向的視窗。在控制方向的視窗中,一共會有四個不同方向箭頭,這四個箭頭會去偵測是否有動靜,並控制蛇的移動,若碰到視窗的邊界時遊戲就會結束了

遇到的困難:

1.如何控制蛇的移動方向?

跟之前不一樣的,這次使用到X跟Y-projection,去劃分四塊移動方向,但是在上下以及左右會重疊的情況下,一開始必須使物體出現在視訊裝置的中心,否則會出現無法移動到特定位置的狀況

2.音樂的播放?

播放音樂的指令無法達成同時播放兩種音效,造成背景音樂會被之後的音效給取代

3.如何判斷遊戲的勝利條件以及遊戲結束的條件?

在判斷遊戲勝利的條件上是使用了一個變數當成是物體的計數器,以就是說,當碰到一個 物體後計數器就會加一當計數器的個數等於物體的個數(物體的個數已知)時,

就表示遊戲勝利了。

另外,在判斷遊戲結束的條件上相對上就簡單許多,當綠色方塊的座標值大於會小於視窗 的座標值時,遊戲就會結束了

未來展望:

目前還沒有達成球體的位置是隨機出現以及背景音樂持續存在,在娛樂效果上沒有很吸引人,所以未來有可能的話希望將這些問題一一的克服。

2010年5月31日 星期一

HW08

心得:在這次作業中,主要用到兩個技術。第一個技術就是背景的
相減,這個技術的可以去除不需要的東西,並且去偵測物體的移動。
第二個技術是去計算在mask中物體所佔的面積,這樣的一個技術就
可以做一些有趣的應用,希望自己以後也能利用這樣的技術去做更
多的應用。








2010年5月26日 星期三

HW10 X-Projection and Y-Projection

心得:本次作業是上機考的程式延伸題,主要將上機考的程式


變成是一個可以兩個人對戰的小遊戲。在這次作業中,主要用


到背景相減和Y-Projection這兩個技術,背景相減的技術是用在


判斷是否有偵測到物體;Y-Projection則是去判斷物體的高度。


在這次的作業中除了能夠把上機考的程式弄清楚之外,還了解


到X-Projection和Y-Projection所能做的事。

2010年5月10日 星期一

HW09 Background Subtraction Extension


心得:這次的作業是延伸上星期的背景相減的主題,在這一次的作業
裡面除了用到了去除背景的技巧之外,還學到如何將偵測的物
體投影到X和Y軸,並且把得到的投影值去計算物體的高度及
寬度,最後將算出來的值當成是虛擬滑鼠的座標值,最後再用
這個虛擬的滑鼠去畫圖。
左邊:用兩條線來畫畫 右邊:用X和Y劃出來的兩條線

2010年5月2日 星期日

期中專題 - 簡易貪食蛇



<由於影片音量較小 請將聲音開大>

組員:王棣雲,張哲人

動機:
色彩偵測的技術是目前所學,因此朝向這方面應用構想-利用視訊裝置去辨識顏色,
使用webcam去做色彩與視訊比對的偵測, 將此構想利用在貪食蛇的運作模式之上以顏色的感應,
當作操作方向的方法。


遊戲介紹:
本遊戲共有兩個視窗,一個視窗是物體移動的視窗,另一個視窗則是控制方向的視窗。在控制方向的視窗中,一共會有四個不同方向的白色方塊,這四個方塊會去偵測顯示出不同的顏色,並用四種不同的顏色去控制蛇的移動,若碰到視窗的邊界時遊戲就會結束了

遇到的困難:
1.如何控制蛇的移動方向?
在控制方向的部分,一開始我們是想要利用偵測物體的座標去控制蛇的移動,但是經過組 員間 的討論後,決定用偵測不同的顏色去替代偵測物體的座標,因為使用偵測不同顏色 的這個方法 會比較符合我們的題目以及實作上會比較簡單。

2.如何判斷兩個方塊的碰撞?
在實作的過程中,判斷物體碰撞的部分是難解決的地方。一開始想要利用兩個物體顏色相 等當成是判斷碰撞的條件,但是會有兩個問題:
第一個問題是如果蛇和要吃的物體是相同顏色的話,可能會把兩個方塊的角色搞錯。
第二個問題是如果兩個方塊顏色相同的話,表示那是一個事實並不是一個條件,所以沒辦 法當成判斷碰撞的條件。後來才想到可以利用兩個方塊的座標去判斷兩個方塊是否有碰撞 到。

3.如何判斷遊戲的勝利條件以及遊戲結束的條件?
在判斷遊戲勝利的條件上是使用了一個變數當成是物體的計數器,以就是說,當碰到一個 物體後計數器就會加一當計數器的個數等於物體的個數(物體的個數已知)時,
就表示遊戲勝利了。
另外,在判斷遊戲結束的條件上相對上就簡單許多,當綠色方塊的座標值大於會小於視窗 的座標值時,遊戲就會結束了

未來展望:
本次的專題還是有些地方沒有做的很完美,像是方塊出現的位置是事先設定好的,並不是使用隨機出現的方式以及蛇本身的長度是固定的,在娛樂效果上可能就沒有很吸引人,所以未來有可能的話希望將這些問題一一的克服。

2010年3月28日 星期日

期中 Project

project beta2:

題目: 色彩貪食

初步討論由於打地鼠打XX之類的太多人會做所以不考慮
顏色的概念是目前所學的,應會朝向顏色應用方面著手,利用視訊裝置去作觸碰點擊的
處理, 向是以往太鼓達人或是跳舞遊戲都是以鍵盤 以及其他實體裝置去做指令, 而現
在我們將使用webcam去做色彩與視訊比對的偵測, 將此構想利用在貪食蛇的運作模式之上
以顏色的感應,當作操作方向的方法

2010年3月21日 星期日

HW04

心得:這次作業的主題是利用視訊去偵測顏色並用其他顏色做替代。在
本次作業中,除了更熟悉如何用像素值去指定到想要的區域外,
還學到了如何從一張影像中抓取自己想要的顏色以及做顏色替換
的動作。剛才說的這些技巧全部都是在兩個迴圈中去做變化的,
而這兩個迴圈所代表的意思是一張影像的寬和高,所以在不管是
顏色偵測或是上星期所教得抓取影像中的像素值都是去控制這兩
個迴圈。

2010年3月14日 星期日

HW03


心得:本週的課程主要是在說明如何抓取彩色影像中的像素值(pixel),
而我也從這次課程的內容中學到如何使用C語言中最重要的觀念
(指標)去抓出一張彩色影像中每一個像素的BGR的數值,而這種
方法就可以將一張影像做更深入的分析。另外,除了學到如何使
用指標的方式去抓出每一個像素值的三原色之外,還學到如何將
兩張影像做疊合的動作,這個動作原理是用兩張影像的像素值去
做相加的動作,也就是說,還是有用到抓取一張影像中的像素值
的這個技巧,所以這種技巧在往後的應用中都會常常的用到,因
此,要好好的把這個方法學起來。

2010年3月7日 星期日

HW02

再來是使用了cvResize這個function,一開始的時候就卡在視窗大小的
設定,後來才發現在C裡面都是用point的方式在實作程式,解決完這個小
問題後整個程式就沒有問題了,也學到另一個function的使用。


這次作業裡面學到了一些影像處理的方法以及function的使用,另外還

結合第一次的作業,學到如何用視訊抓到影像並把抓到的影像做一些後續

的處理,這樣的話就更了解如何用opencv去做更多的事。

2010年2月28日 星期日

HW01

HW01-延伸:


心得:在學會如何用opencv擷取webcam之後,又學到了兩個新function
的用法,分別是cvFlip(frame,frame2,1);和 cvCloneImage(frame);。
cvFlip這個function是說可以讓一張影像對某一個軸作旋轉的function,
第三個參數是指左右旋轉或是上下旋轉,另外一個function是
cvCloneImage(frame),這個function的功能是複製一份原始的圖檔。

HW01:

心得:在這個作業中,第一次體驗用程式的方式去擷取webcam的內容,
並且也對Opencv的程式結構、function的使用都有了初步的了解,也希
望可以在本課程中學到更多關於opencv的用法。