用webcam 如何取得其中一個frame出來用? |
尚未結案
|
skypapa416
一般會員 發表:4 回覆:4 積分:1 註冊:2007-09-23 發送簡訊給我 |
我可以成功從webcam中讀取彩色影像資訊 存入一個二維陣列(char a[3][320*240*3]) 我要取其中一列(一張影像)的資訊 要怎麼做呢?
我的做法是 : 把webcam擷取到的彩色影像資訊(一維陣列320*240*3)依序存入 a 的一列 會不斷覆蓋 接著我去複製 上一次存入a的那一列 複製到b void VFW_CB_data(unsigned char *InData,long InLeng) { memcpy(a[CurrentIndex], InData, InLeng); LastIndex = CurrentIndex; memcpy(b, a[LastIndex], 320*240*3); } 其中 InData是webcam擷取到的彩色影像資訊(一維陣列320*240*3), CurrentIndex是正在被寫入的是 a 的哪一列 我設 LastIndex 為現在不被寫入的那一列, b是一維陣列 320*240*3 不知道 這樣寫有沒有錯 我看很像 CurrentIndex 都一直是 0 請各位高手幫個忙!! |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
void VFW_CB_data(unsigned char *InData,long InLeng)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^傳入值,沒有有關 Index 的資訊 { memcpy(a[CurrentIndex], InData, InLeng); ------ LastIndex = CurrentIndex;................................... |------------> 沒有有關 CurrentIndex 的「累計」方式 memcpy(b, a[LastIndex], 320*240*3); ------------ } 在 LastIndex = CurrentIndex; 後加入 if ((CurrentIndex >= 0) || (CurrentIndex < 2)) {CurrentIndex ;} else {CurrentIndex = 0;} 如何?
編輯記錄
syntax 重新編輯於 2007-09-26 10:25:09, 註解 無‧
|
skypapa416
一般會員 發表:4 回覆:4 積分:1 註冊:2007-09-23 發送簡訊給我 |
===================引 用 syntax 文 章=================== void VFW_CB_data(unsigned char *InData,long InLeng) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^傳入值,沒有有關 Index 的資訊 { memcpy(a[CurrentIndex], InData, InLeng); ------ LastIndex = CurrentIndex;................................... |------------> 沒有有關 CurrentIndex 的「累計」方式 memcpy(b, a[LastIndex], 320*240*3); ------------ } 在 LastIndex = CurrentIndex; 後加入 if ((CurrentIndex >= 0) || (CurrentIndex < 2)) {CurrentIndex ;} else {CurrentIndex = 0;} 如何? ---------------------------------------------------------------------------------------------- OK了!!謝謝!! 再問一下 出現 Linker Warning 會造成甚麼影響嗎? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |