線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2634
推到 Plurk!
推到 Facebook!

拜託高手指點!!有關memcpy的問題!!

答題得分者是:syntax
skypapa416
一般會員


發表:4
回覆:4
積分:1
註冊:2007-09-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-23 15:22:14 IP:140.135.xxx.xxx 訂閱
我爬了很多文 都沒看到我現在遇到的問題 所以想請各位高手幫忙一下!!

目的 : 在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);


編輯記錄
skypapa416 重新編輯於 2007-09-23 20:17:24, 註解 無‧
skypapa416 重新編輯於 2007-09-24 11:55:10, 註解 無‧
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-24 08:00:47 IP:59.105.xxx.xxx 訂閱
試試修改為:
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-24 11:43:40 IP:140.135.xxx.xxx 訂閱

===================引 用 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-09-24 13:16:49 IP:220.131.xxx.xxx 未訂閱
所以問題不在 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-09-25 06:26:30 IP:61.64.xxx.xxx 訂閱

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 月底, 請把握時機
系統時間:2024-05-02 12:47:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!