星期二, 3月 30, 2010

YouTube: 暴龍來了!



國立台中圖書館, 數位體驗區 - 擴充實境 (Augmented Reality) 互動體驗
AR Engine "FunAR" is provided by Funcode Technology 方碼科技
 

星期一, 3月 29, 2010

Week 6: 如何看待兩張影像之間的差別?

今天要討論的主題是人們如何看待兩張影像之間的差別? 該如何描述?

範例程式: VGC-2010S-SP05.txt



範例程式: VGC-2010S-SP06.txt


 

星期日, 3月 21, 2010

Week 5: 程式實作 (3) - 靜態影像擷取

 本週的課程主題是靜態影像(still image)擷取, 換句話說, 就是從視訊擷取視窗中, 擷取一張靜態影像。

1. 靜態影像擷取
  視訊畫面靜止: capGrabFrame
  視訊畫面不靜止: capGrabFrameNoStop

2. Windows 的 圖形裝置介面 (GDI: Graphics Device Interface)
  範例程式: VGC-2010S-SP04.txt

3. 影像處理: 彩色影像轉成灰階影像

4. 二維陣列:
  靜態宣告
  動態宣告

5. 本週課堂作業: (限下課前繳交, 缺交者即算缺席)
 請將你擷取下來的影像, 放到 課程作業部落格 中。
 

星期一, 3月 15, 2010

Week 4: 程式實作 (2) - 視訊裝置驅動程式的效能

1. 如何移動視訊擷取視窗 (MoveWindow)

 範例程式: VGC-2010S-SP02.txt


2. 取得視訊裝置驅動程式的效能 ( capDriverGetCaps )

 範例程式: VGC-2010S-SP03.txt

3. 開啟各種視訊對話視窗

  a. capDlgVideoSource(hwndVideo)

  

  b. capDlgVideoFormat(hwndVideo)

  

  c. capDlgVideoDisplay(hwndVideo)

  d. capDlgVideoCompression(hwndVideo)

  
 

星期一, 3月 08, 2010

Week 3: 程式實作 (1) - 開啟網路攝影機

1. 範例程式: 開啟網路攝影機
 VGC-2010S-SP01.txt

2. 視窗程式設計(Programming Windows)之基本觀念:
 a. 在 Windows (作業系統) 中, 『視窗』的含義非常明確, 就是指螢幕上的一個矩形區域, 用來接受使用者輸入資料或是以文字或圖形的形式顯示輸出內容。
 

星期二, 3月 02, 2010

Week 2: WebCam Programming

1. WebCam Programming:

 a. Viedo For Window (vfw.h)
 
 b. 如何建立一個視訊擷取視窗( capCreateCaptureWindow )

 c. 連接視訊擷取視窗與視訊裝置 ( capDriverConnect )

 d. 設定顯示模式 (capPreview)
 

 

星期一, 3月 01, 2010

Book: 多媒體視頻程序設計—使用 Delphi



多媒體視頻程序設計 — 使用 Delphi (簡體書 中國書)
作者: 張銘華
 

星期一, 2月 22, 2010

WebCam: IPEVO Point 2 View USB 攝影機 (P2V)



見我所見
厭倦了固定在電腦螢幕上的網路攝影機了吧?IPEVO 精心設計了 Point 2 View (P2V) 網路攝影機,將您從單調的視角中解放。有了 P2V 的 200 萬畫素高解析度與多樣化使用模式,P2V 將是您在視訊通話、商用簡報、家庭影像分享的最佳幫手,並帶給您更多樂趣。

這麼多有趣運用的關鍵,在於 IPEVO 為 P2V 精心開發的 ”自由式”旋臂底座。在底座配上適合的重量,以及多重關節設計,讓 P2V 能夠從你視線出發,多種角度之下任意捕捉畫面,許你一個充滿自由與創新樂趣的視訊通話體驗。


 

星期六, 6月 27, 2009

CAM Game Show 2009 大獎

最佳音效獎:

 林炳海: 趕羚羊 14 票
 林崇基: 忍者追殺大逃亡 7 票

最佳美工獎:

 陳佳筠: 雙手萬能 19 票


陳佳筠發表 最佳美工獎 得獎感言!

 李慧娟: 心靈之蛋 7 票

最佳人氣獎:

 劉昌杰: 恐怖的鱷魚牙齒大冒險 8 票
 黃國維: Virtual Joystick 7 票

創意大獎:

 許達易: 串丸子 3 票
 嚴仕佳: 雷射筆射氣球 2 票
 劉育成: 照片瀏覽器 1 票


劉育成創意受肯定, 發表感言!

 劉國昱: 躲避球 1 票
 邱巾倫: 雨天的祈禱 1 票
 黃劭龍: 教室野球 1 票
 黃國維: Virtual Joystick 1 票

最佳遊戲大獎:

 黃國維: Virtual Joystick 12 票


黃國維發表 最佳遊戲大獎 得獎感言!

 黃劭龍: 教室野球 4 票


黃劭龍發表 最佳遊戲大獎第二名 感言!

 劉昌杰: 恐怖的鱷魚牙齒大冒險 4 票
 鄭佳訓: 誰來接招 3 票
 葉秀斌: 踢足球 2 票


葉秀斌作品受肯定, 發表感言!

 方泓智: 跑跑跑 2 票
 

Week 19: 視訊程式夏令營第五天

成果展 上半場 11:00~12:00 展出順序:

 1. 吳坤璋: 太鼓達人之傻傻摸不到
 2. 劉育成: 照片瀏覽器
 3. 劉昌杰: 恐怖的鱷魚牙齒大冒險
 4. 陳志芳: 小兔子吃蘿蔔
 5. 許智凱: 調色盤
 6. 嚴仕佳: 雷射筆射氣球
 7. 劉國昱: 躲避球
 8. 林炳海: 趕羚羊
 9. 何宗儒: 躲避球
 

 

 
下半場 13:00 ~ 15:00 展出順序:

 10. 葉秀斌: 踢足球
 11. 黃文凱: 隕石大爆破
 12. 方泓智: 跑跑跑
 13. 李慧娟: 心靈之蛋
 14. 方佑平: 打地鼠之敘情版
 15. 鄭佳訓: 誰來接招
 16. 曾鈞鈺: 打磚塊
 17. 陳佳筠: 雙手萬能
 18. 吳仕閔: 拳心拳力
 19. 黃雅綉: 打磚塊之頂著紅盤子的紅人
 20. 黃鈺雯: 敲企鵝
 21. 張智銓: 電流急急棒之太胖很難走到終點
 22. 許夢涵: 打桌球
 23. 邱巾倫: 雨天的祈禱
 24. 林崇基: 忍者追殺大逃亡
 25. 許達易: 串丸子
 26. 馮國棟: 守護
 27. 黃劭龍: 教室野球
 28. 李茂平: 滂沱大雨
 29. 謝獻其: 棒球打擊遊戲
 30. 黃國維: Virtual Joystick

 成績 已經上傳, 感謝大家的努力!
 

星期四, 6月 25, 2009

Week 19: 視訊程式夏令營第四天

昨天原本很沉悶的電腦教室, 今天同學們為自己的遊戲加上配樂之後, 頓時歡樂起來,...



星期三, 6月 24, 2009

Week 19: 視訊程式夏令營第三天





成果展的環境已經設定完成, 可以開放測試了, 請大家一定要實地做過測試, 才能真正排除各種問題, 圓滿達成任務, 不要讓辛苦一個星期的努力成為白功!
 

星期二, 6月 23, 2009

Debug: 找 Max, Min 時, 記得要給初始值!

同學在執行範例程式 12 SampleProgram12.txt 時,
請千萬記得幫 ucMax[][][] 陣列設定初始值為 0,
幫 ucMin[][][] 陣列設定初始值為 255,
這樣才可以正確地找到每個像素點的極大值與極小值喔!
 

Week 19: 視訊程式夏令營第二天



我可以

詞曲:大支 編曲/j wu

小朋友你長大想當什麼
乘著夢想翅膀 你可以盡情飛翔
夢想我小時候連怎麼寫也不知道
所以你也會像我一樣 實現一天總會來到

你會是下一個陳詩欣 下一個李昌鈺
你是下一個周杰輪 你是下一個王永慶
小朋友 你絕對可當最好的那些
離你不遙遠一瞬間 人人都會有功練

出發吧 遠足去大好前途
你的一小步 也都是你的一大步
小朋友每一步都是阿姆司壯登上月球 加油
快把樂高疊成摩天大樓 你的夢 會像風箏高高飛在天空
你的夢會像蠟筆畫的紅色蘋果
你的夢作在起床以後 不是夢 小朋友 大朋友

讓我們一起說 !

我知道我可以 我一定沒問題 只要我肯努力 我就天下無敵
我知道我可以 我一定沒問題 只要我肯努力 我就天下無敵

小朋友夢是如此美好 但如果你還一直不起床那就不好
聰明的小孩努力成長像小大人 讓美夢成真看他們眼神多認真
可能 你已經等不急轉大人 搖頭跟在幫派混 這不是你要的人生
小妹妹逃出家門 援交能出賣靈魂 幾千塊保險套就不怕愛滋病男人
好的不好學 壞的都不用學 給自己點時間長大分辨
來張開手掌命運線成功線點點點 ok
握起來一切都在自己手裡 give me five
把刀放下來 把毒品放下來 把衣服穿起來 把課本撿起來
彩虹還是會有色彩 你也不會只是黑白 迷失的小孩跟我們一起唱來

我知道我可以 我一定沒問題 只要我肯努力 我就天下無敵
我知道我可以 我一定沒問題 只要我肯努力 我就天下無敵

小朋友你多久沒做夢了
睡不著
爸爸喝醉大吵大鬧
媽媽打牌遲到
沒載你到學校
放牛吃草 B 段班怎麼像大樹一樣高
老師叫壞學生滾出去 就好比醫院不收你原因是因為你生病
這哪是教育 打開電視胡鬧的大人們
怪力亂神烏煙瘴氣的新聞
小朋友看著我們 我們看著你們
小朋友學習的人 不只是模範生

小孩子像張白紙 成長會寫下彩色的字
握筆的人 我們都是
有什麼園丁 便有什麼花園不是嗎?
一起努力撒下希望的種子吧!

讓夢想開花 快快長大 好好長大 要比哥哥爸爸還要偉大

未來棟樑快點茁壯 因為我們很快就需要更多力量
更多知識讓子彈上膛 更多戰士讓明天打勝仗

不論你是哪來的小孩 都可成就更好的未來!
新的一代快快站起來 我們會改變這個時代!

我知道我可以 我一定沒問題 只要我肯努力 我就天下無敵!!
我知道我可以 我一定沒問題 只要我肯努力 我就天下無敵!!
  

星期一, 6月 22, 2009

Week 19: 視訊程式夏令營第一天



今天同學們的表現都很不錯, 藉由這樣撰寫程式的經驗, 我相信同學自己也會產生一些親自撰寫程式才會有的感受, 這些都是成為程式設計師必經的歷程! 加油!
 

星期一, 6月 08, 2009

Week 17: 來收集龍珠吧!



我花了很多時間在網路上找龍珠的圖片, 最後終於在 伊莉討論區 的這張圖中找到:



然後用 Photoshop 把龍珠擷取出來...

範例程式變數說明:
用 (iObjectX1, iObjectY1) 來代表龍珠圖片出現的左上角座標,
龍珠圖片的寬與高分別用 iMarkWidth, iMarkHeight 這兩個變數儲存,
因此, 龍珠圖片的右下角座標 (iObjectX2, iObjectY2) 的計算公式為:
iObjectX2 = iObjectX1 + iMarkWidth;
iObjectY2 = iObjectY1 + iMarkHeight;
因此, 當我們在 callback function 中處理完所有的事情後, 必須給龍珠設定一個新的座標。假設新舊座標的位移量為 ( iDeltaX, iDeltaY ), 新的座標則為
( iObjectX1 + iDeltaX , iObjectY1 + iDeltaY)
當 iDeltaX > 0 時, 表示龍珠是向右移動的, 反之, 當 iDeltaX < 0 時, 表示龍珠是向左移動的; 同理, iDeltaY 則是控制龍珠上下移動方向。

if (iObjectX2 > 320)
iDeltaX = -10;
if (iObjectX1 < 0)
iDeltaX = 10;

if (iObjectY2 > 240)
iDeltaY = -10;
if (iObjectY1 < 0)
iDeltaY = 10;

最後, 龍珠就可以跑來跑去了!



星期四, 6月 04, 2009

Note: 期末考後天天加課!

為了使本學期之作品成果展順利進行, 本課程將於期末考後一週 6/22-26 9:00~16:00 天天在 S513-1 教室加開課程, 成果展 CAM Game Show 2009 訂於 6/26 早上 10:00 在 S513-1 教室舉行。

星期四, 5月 28, 2009

Week 16: 如何去除監視畫面中的雜訊影響?

0. 我噗浪的帳號: YKLee
 如果期末 WebCam 程式寫不出來, 這邊可以找到我...

1. 如何去除監視畫面中的雜訊影響?
 
當我們建立好背景影像, 如果沒有物件闖入監視畫面中, 在最理想的狀況下, 監視畫面應該是全黑的才對。可是由於光線變化及雜訊的影響下, 總會有一些像素點與原來背景的色彩值差距過大, 因此產生上圖中的小白點。
 
 
 
我們該如何去除這些雜訊點的影響呢?
 
 

如果我們將畫面分成一個一個的 8*8 區塊, 在區塊中的亮點總數如果沒有超過一半(32), 那我們就將整個區塊設成全黑區塊, 從上圖的實驗我們可以發現, 右下角的圖片已經全黑了。
 
 
 
如果區塊中的亮點總數如果超過一半了, 那我們就將整個區塊設成全白區塊, 從上圖的實驗我們可以發現, 右下角的圖片只有手部的部分被設成全白區塊。

 SampleProgram16.txt
 
2. 如何與畫面中的虛擬物件互動呢?



換句話說, 就是伸手將畫面中的 WebCam 拍掉!



SampleProgram17.txt
 

星期二, 5月 26, 2009

Week 15: 如何在視訊視窗添加圖片?

直接將視訊擷取視窗中, (20, 20) 至 (50, 50) 的方塊, 塗成綠色:
SampleProgram13.txt

讀入一張 BMP 影像, 並將其色彩值存到 ucMarkR[][], ucMarkG[][], ucMarkB[][] 之中:
SampleProgram14.txt

將 ucMarkR[][], ucMarkG[][], ucMarkB[][] 中的影像, 顯示在視訊擷取視窗中:
SampleProgram15.txt

星期二, 5月 19, 2009

Week 14: 背景圖相關之理論與實作

今天一上課, 我們先補充關於如何取背景圖的理論。在攝影機不動的情況下拍攝靜物, 照理說, 連續兩個畫面(frame)應該是完全一樣的; 然而, 寫程式分析, 卻發現兩張畫面看起來一樣, 實際上卻有稍稍不同, 色彩值因為光線變化 (也許是因為光源閃爍, 或是空氣中的灰塵影響!), 讓不同畫面中, 相同位置的色彩值產生細微的不同。

假設在沒有雜訊的情況下,
第 k 個畫面的位置 (i,j) 的色彩值為 f k (i,j), 雜訊的函數為 X k(i,j),

假設我們所擷取到的色彩值為 F k (i,j),
因此,

 F k (i,j) = f k (i,j) + X k(i,j)

如果我們取連續 30 個畫面色彩值之總和

如何計算色彩距離的臨界值(Threshold) 的範例程式:
SampleProgram12.txt