2012年3月26日 星期一

HW1


















Drive name/version on off 可以把視訊裝置的版本跟內容顯示出來













creat 創造出一個視窗 也可以destrory掉

也可以換成 其他大小的視窗 320*240 或640*480的 ex:













connect 之後 可以連接視訊裝置
起初還覺得奇怪 為什麼畫面沒辦喇棟是因為我的視訊壞掉了?
原來是只能顯示畫面












若要讓畫面可以動 30 frame/sec 15 frame/sec 這兩個的差別
是解析度 一個比較清晰一個比較模糊













心得:這次的作業比較晚交 因為自己的BSB有點問題 所以向別人借電腦來交功課
這次的作業是老師把程式碼貼到上面去 讓我們自己看著打的 這樣邊打還可以
邊研究裡面的內容 其實視訊裝置裡面 自己都有依些小設定跟小軟體可以改變視訊的效果
第一次用BCB做出來的感覺就是不太依樣 ~

2012年3月20日 星期二

Hw01


一整個程序
要一個一個連結完成
才會有視訊跑出來
這是320*240的畫面擷取
是整個畫面一起改變
不單單是視窗顯示影像變小而已
這是640*480的
第一次的作業雖然是用老師提供的程式碼來完成
不過自己在家照的老師教的步驟一步一步地做
也大概了解了如何使用這些程式碼,
主要是CapWindowWidth、CapWindowHeight、CapDriverConnect 、capPreviewRate
這幾個指令來設定視窗大小、連結視訊跟影格速度
這次的作業雖然是利用老師的程式碼來完成
但是希望自己也可以學習看懂程式碼
才能越來越熟悉
以後才會自己打程式

Hw01

可以看到視訊的系統資料
簡單的了解每個不同的視訊裝置

每個步驟都會影響到連結
要一個一個開啟才會成功連結


改變視窗大小的功能
沒有拍出視窗改變的照片
下次會改進




這次的作業
跟著老部落格的步驟
新增功能鍵
和複製貼上適當的程式碼
就可以成功連結
不過剛開始不太會使用的時候
還會不能連結成功
因為視訊還沒有連接完成
所以也不能改變視訊視窗大小
不同的指令還可以控制視訊擷取的大小
還有要注意程式是指改變視窗顯示大小還是整個影像大小
廣角照射的範圍
雖然程式碼都有些困難
但是配合老師的程式碼
慢慢看慢慢理解
好像可以比較有頭緒一點
不然真的會不知道如何下手呢


HW01

第一次的作業是取得Webcam驅動程式的相關資訊
一開始是利用
"lblCapDriverName->Caption = szDeviceName;"

"lblCapDriverVersion->Caption = szDeviceVersion;"
兩行指令擷取視訊鏡頭的名字與版本且顯示在label元件的caption上



創造一個能顯示視訊畫面的Window


還可以修改視訊視窗大小


再來利用capDriverConnect(hwndVideo, dwDriverIndex);這段程式碼和視訊鏡頭連結並顯示畫面


將畫面調整成
Preview模式


最後再設定畫面楨數就可以開始視訊了,我將畫面楨數調整為每秒33張圖,這邊用的是capPreviewRate(hwndVideo, 33);這段程式碼,為什麼最後面的數字是33而不是30呢?問過老師後才知道原來後面的數字指的是每微秒多少張圖片,而1000微秒才等於1秒,所以若每秒要30張圖,則要1000/33才會接近30S/FPS


心得:本來以為要用程式來擷取視訊鏡頭的畫面是很難的一件事,沒想到每段程式碼都是短短的甚至只有一行,只要懂得呼叫視訊鏡頭的驅動程式,也就是VFW的函式庫,再懂得調整他的參數,其實一點都不難。