顯示具有 蔡佳蓉 標籤的文章。 顯示所有文章
顯示具有 蔡佳蓉 標籤的文章。 顯示所有文章

2010年6月13日 星期日

課程回顧

一開始以為視訊處理是在攝影機處理所拍到的畫面,例如處理拍到了什麼影像。

實際上過課之後才知道,原來不只是可以將拍到的影像,做成灰階、邊緣化、改變顏色外,還可以應用在遊戲上。利用擷取顏色,來變成虛擬滑鼠;利用判斷物體移動來控制、判斷左右等,都是很有趣的應用。

最有趣的是在專題和最後將上機考改成的兩人遊戲。可以將所學的東西發揮在專題上,並做更多的延伸,在做專題時有遇到不能執行的時候,就需要慢慢找出錯誤在哪,在找錯誤的過程會學習到更多經驗。上機考時,雖然沒有成功完成全部要求,但之後改成兩人遊戲後,變得更有趣,可以兩人同時比賽誰讓上面的基準線加寬的較多,比單人的遊戲更有趣。

課程建議:
老師會給程式碼讓學生研究學習,這樣的方式覺得很好,可以從程式碼是了解指令的作用,並且馬上加以應用修改。課程上課的方式也很有趣。

期末專題

接彩蛋小遊戲




介紹:延伸期中的彩蛋遊戲,控制籃子的方式由擷取顏色,改成利用動態判斷來移動籃子;並將籃子縮小,增加遊戲難度;可移動範圍從只在底部接彩蛋,變成整個畫面。在有限時間中,接取最多的彩蛋來計分。

動機:期中的彩蛋遊戲只有在底部移動籃子,較無趣,改成籃子可以在整個視窗移動,並且用手就可以控制籃子,不用再去擷取顏色,或旁邊有擷取的相似顏色而有誤判。

遇到的困難:
利用背景相減判斷物體是否移動,會有誤判,限制容許範圍大小,若是過小的移動就忽略,主要判斷較大的移動範圍。

籃子在整個視窗移動,注意y軸高度要判斷圖片不要超出視窗,會出現問題並且籃子不該會跑到y軸以下。

心得:期末專題的控制方法,要改成背景相減方式來判斷動態,先複製一灰階的背景圖片,之後視訊畫面在和其灰階圖片相減,不同的地方就顯現出物體有移動。利用這樣的方式來控制遊戲中的籃子,如何取的適當位子是較麻煩的部分,其他部分延伸期中即可。

實際遊戲畫面:

2010年6月1日 星期二

HW 10


延伸上機考的題目,從一人跳高,變成兩人跳高
將Y軸判斷分成一半,左右兩邊分開判斷,
上面的基準線也是左右兩邊分開畫,兩邊各別變寬
再利用背景相減方式,判斷哪邊的移動物體超過基準線
利用Y軸的最高點來判斷是否超過基準線
每次超過基準線就變寬

HW 09

延伸HW08,利用背景相減判斷移動的物體
可以用來繪圖,或其他應用
左圖是右圖的的線畫出的圖。


判斷Y軸的最高點和X軸的中間點
分別畫出基準線,較容易辨別目前位置
但容易會因為雜訊而誤判
所以可以在xProjectionValue[i]中限制大一點
小於限制值的就當作雜訊,不要處理

HW 08


利用背景相減的方式來判斷物體是否有移動
並且取mask來計算得分,
所用的mask是筆的圖形,如果越符合圖形
得分越高,如果超出mask範圍則會扣分

計算總分

HW 05

先從紅色方框中擷取顏色
再用取得的顏色,畫在白色的畫布
要當作畫布的視窗,不能放在迴圈中
這樣會每次都更新畫面,不會保留已經畫過的圖樣

再利用取得的顏色
移動標誌圖案

2010年5月17日 星期一

期中專題-接彩蛋

接彩蛋小遊戲
介紹:利用視訊擷取顏色來控制遊戲中的籃子,會有三種彩蛋不斷往下掉,需要用籃子去接,有限時間且會計分。

動機:原本想做成接金幣的遊戲,希望在整個視窗中隨便一個地方都可以接金幣,但是不好控制,所以最後改成接彩蛋的遊戲。

遇到的困難:
顯示圖片的部分:將圖片放到視窗上時,會有圖片邊框白色部分,想要只顯示要的圖片部分,就必須再加個判斷,讓白色的邊框不要出現,但這會讓圖片中,有白色的部分也不會畫出來,所以在選圖片時,小心不要選擇中間也有白色的圖。

顯示分數的部分:為了要在視窗上也顯是分數,所以特地用數字的圖片放在視窗右上角,但因為要判斷百位數、十位數、個位數的數字,所以在總分部份要判斷比較麻煩。

加上時間軸:因為希望遊戲是有限時間的,所以就加上時間軸,是利用一張長條圖,然後每次顯示的部分漸漸變少來當成時間的倒數。

心得:這次的專題原本覺得很難,但是實際慢慢做之後就覺得很有趣,而且會想再多加一些東西上去,但畫面沒有很精緻,而且在擷取顏色時,背景有時也會影響判斷,所以在遊戲時,會在白色的背景下執行,比較不容易影響判斷。

實際遊戲畫面:

HW 04


偵測顏色做取代
右上角:切成左右兩邊,用不同顏色取代
左下角:切成上下,用不同顏色取代
依門檻設置的不同,判斷的範圍大小也會不同
在顯示顏色迴圈中,改變xy的範圍,
就可以依需求圖成所要的顏色,
設置一個白色的畫布
利用偵測出來的顏色在畫布上畫圖
要注意的是,白色的畫布只能產生一次
如果將畫布放在while迴圈中,就不會有畫布效果
而是會每次回圈都產生一新畫布。

2010年5月10日 星期一

HW 03
















這次的作業要抓取彩色像素,將不同顏色分離出來
再加上一個logo,並且讓logo移動
有三個指標:(代表藍綠紅三元素)
ptr1[3*x]
ptr1[3*x+1]
ptr1[3*x+2]
ptr1和ptr2代表圖的像素
圖的像素顏色的設定,就由上面三個參數來處理
x和y分別表示了圖的位子,利用迴圈處理圖中的每個像素


要讓logo移動,改變logo的x和y的值

2010年3月28日 星期日

期中專題

構想:接金幣遊戲
說明:視窗中會出現很多不同幣值的金幣,要去接金幣,最後計算總金額,就是自己的得分。

2010年3月7日 星期日

HW 02

















這次學習的是將彩色改成灰階、黑白、邊緣的視訊效果
要注意的是
cvFlip(frame2,0,0);
才能將frame2的視訊視窗擺正
如果沒有這一行,顯示出來的會是倒過來的視訊








利用灰階轉成黑白的效果
和利用彩色視訊轉成的效果比較
右圖的效果會有8種顏色組成
















最後是放大3.14倍
後面的圖示放大的視訊
沒有使用cvFlip(frame2,0,0);
所以視訊是倒過來的樣子

HW 01

























第一次使用webcam覺得很有趣
本來以為會很難,但上過課後發現沒有想像中的困難
而且還很有趣,透過修改一些程式碼
就可以呈現出不同的效果
這次是做出鏡射的效果
利用cvFlip(fra,fra1,1)就可以產生鏡射
改變後面的數值,會有其他不同的效果


上下左右鏡射的效果