拜託高手指點!!有關memcpy的問題!! |
答題得分者是:syntax
|
skypapa416
一般會員 發表:4 回覆:4 積分:1 註冊:2007-09-23 發送簡訊給我 |
我爬了很多文 都沒看到我現在遇到的問題 所以想請各位高手幫忙一下!!
目的 : 在BCB中 我要從webcam每隔一段時間擷取一張影像下來 總共要三張 這個動作我是要利用一個button去點擊 來執行子程式的memcpy去copy之前儲存webcam影像的buffer過來用 問題 : 子程式中紅色部分,ImgCameraBuf 並沒有成功複製 g_videoCameraBuf 中的某一列全部的值(值都是0) 但我也找不出 問題在哪 所以想請各位高手 幫忙一下 哪裡有錯 感謝不盡!! 主程式 : char g_videoCameraBuf[3][320*240*3] ; // 三個彩色frame int g_videoCurrentWriteIndex ; int g_videoLastWriteIndex ; void VFW_CB_data(unsigned char *InData,long InLeng) { memcpy( g_videoCameraBuf [ g_videoCurrentWriteIndex ], InData, InLeng ); g_videoLastWriteIndex = g_videoCurrentWriteIndex; } 其中 InData是 webcam擷取的影像 (一維陣列,320*240*3),g_videoCurrentWriteIndex 是正在寫入哪一個 g_videoCameraBuf 的 index g_videoLastWriteIndex 是前一個寫入 哪一個 g_videoCameraBuf 的 index 子程式 : char ImgCameraBuf[320*240*3]; // 一個彩色frame memcpy( ImgCameraBuf, g_videoCameraBuf [ g_videoLastWriteIndex ], 320*240*3); 編輯記錄
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
試試修改為:
ImgCameraBuf, 320*240*3); 請看一下線上說明 memcpy void *memcpy(void *dest, const void *src, size_t n); 第一個是放目標, 第二個是來源, 你的 code 兩者相反。 ■ Seednet ShareMe 免費網路硬碟, 申請送2G, 用 MSN 幫她打廣告加 10G, 推薦1人加 1G, 活動只到 9 月底, 請把握時機 ■
------
http://www.ViewMove.com |
skypapa416
一般會員 發表:4 回覆:4 積分:1 註冊:2007-09-23 發送簡訊給我 |
===================引 用 dllee 文 章=================== 試試修改為: ImgCameraBuf, 我的 g_videoCameraBuf是儲存webcam影像資訊用的buffer (二維陣列[3][320*240*3]) g_videoCameraBuf中的某列(0,1,2) g_videoCameraBuf中的不被正在寫入的影像資訊 所以 ImgCameraBuf是目標 我現在debug去看這些陣列的數值 只有ImgCameraBuf沒有值(都是0) 所以我想請問各位高手 有沒有遇到這種狀況 或是我哪裡寫錯 請各位高手指點迷津 ■ Seednet ShareMe 免費網路硬碟, 申請送2G, 用 MSN 幫她打廣告加 10G, 推薦1人加 1G, 活動只到 9 月底, 請把握時機 ■ |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
所以問題不在 memcpy
往前查吧。 ===================引 用 skypapa416 文 章=================== 請看一下線上說明 memcpy void *memcpy(void *dest, const void *src, size_t n); 第一個是放目標, 第二個是來源, 你的 code 兩者相反。g_videoCameraBuf 有值 ImgCameraBuf沒有值(都是0) |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
g_videoLastWriteIndex是取memcpy(g_videoCameraBuf [ g_videoLastWriteIndex ], 320*240*3); 請看一下線上說明 memcpy void *memcpy(void *dest, const void *src, size_t n); 第一個是放目標, 第二個是來源, 你的 code 兩者相反。 ---------------------------------------------------------------------------------------- g_videoLastWriteIndex是取 ImgCameraBuf是用來複製不斷更新的g_videoCameraBuf 是來源 g_videoCameraBuf 有值 ImgCameraBuf沒有值(都是0) 所以我想請問各位高手 有沒有遇到這種狀況 或是我哪裡寫錯 請各位高手指點迷津 ■ Seednet ShareMe 免費網路硬碟, 申請送2G, 用 MSN 幫她打廣告加 10G, 推薦1人加 1G, 活動只到 9 月底, 請把握時機 ■ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |