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

如何在視訊串流中一次取三個bitmap作處理

答題得分者是:liangchh
happy260000
一般會員


發表:4
回覆:4
積分:1
註冊:2008-11-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-22 17:06:05 IP:163.13.xxx.xxx 訂閱

大家好,想請問一下。

要如何在一直讀取視訊的panel上,利用timer一次擷取三個bitmap呢?

意思是,例如現在在panel上我利用timer擷取bitmap到image上。

但是我要一次取 bitmap1 、 bitmap2 、 bitmap3,他的時間軸分別是指 t-1 、 t 、 t 1。

不要存成bmp圖檔,只要作為程序中的一個 buffer 。

我有嘗試在 timer的函式裡,做三次擷取的動作,但是我發現擷取的 bitmap都是同一張。

不太知道為什麼......

請問要怎麼做出來呢?
istillloving
高階會員


發表:33
回覆:182
積分:183
註冊:2008-10-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-11-22 19:02:00 IP:220.129.xxx.xxx 訂閱
請問你的影像是已經切好的還是指是串流?
------
恩...
happy260000
一般會員


發表:4
回覆:4
積分:1
註冊:2008-11-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-11-22 21:18:50 IP:163.13.xxx.xxx 訂閱
我的影像是直接拿視訊的影像。

就是視訊一邊拍,我一邊擷取視訊跑的影像。

輸出到另一個image上,讓另一個image感覺很像也是同步的視訊處理。
liangchh
一般會員


發表:1
回覆:5
積分:16
註冊:2008-09-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-11-28 02:18:51 IP:68.228.xxx.xxx 訂閱
你好

我目前在做一個影像追蹤的專題有遇到類似的問題

我是一次想由webcam中擷取兩個bitmap, bitmap( t ) 與bitmap ( t -1)

所使用的方法就是設定每當 timer 執行時

將之前所擷取到的 bitmap ( 也就是 bitmap( t -1 ) 儲存於bitmap A) 丟到一個 buffer( 我稱它為 bitmap B )

然後將現在所擷取的 bitmap (也就是 bitmap ( t ) ) 扔到 bitmapA

所以流程就好比下圖

bitmap A ( t - 1) -----> bitmap B
bitmap ( t ) ----> bitmap A

若您想要擷取三個時間點 就再令一個 bitmap C

bitmap B ( t - 2 ) -----> bitmap C
bitmap A ( t - 1 ) -----> bitmap B
bitmap ( t ) ----> bitmap A

這是一個相當簡單的做法 不知道有沒有合乎你的需求

我目前也剛接觸BCB不久 懂得實在不多

希望能幫上你的忙
編輯記錄
liangchh 重新編輯於 2008-11-28 02:26:05, 註解 無‧
happy260000
一般會員


發表:4
回覆:4
積分:1
註冊:2008-11-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-11-28 16:47:22 IP:163.13.xxx.xxx 訂閱
你好,我現在也是在作物件追蹤的專題,說不定我們可以一起討論 ^^

其實我最大的困難在於,怎麼在timer中擷取到兩個bitmap

因為我現在只會擷取一個,如果再在timer中再擷取一次,會擷取到一樣的bitmap

不知道大大知不知道,怎麼一次擷取兩張呢?

謝謝。
liangchh
一般會員


發表:1
回覆:5
積分:16
註冊:2008-09-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-11-28 17:45:25 IP:68.228.xxx.xxx 訂閱


我試著了解你的意思

不太確定以下的解說能不能幫上你的忙

若有問題我們可以再討論

以下是我的看法


如你所說

想要在一次 timer 的執行過程中( 即是一個時間點 )

擷取兩個時間點的圖片 是不可行的

因為之前的圖片已被覆蓋過去

目前存在的圖片僅是剛擷取下來的影像

所以我的方法是使用暫存的bitmap

假設每一次 timer 的執行中

你把最新擷取到的圖片 assign 給 bitmap A

你所要做的便是 在此動作執行之前

先把 bitmap A 裡暫存的圖 (即上一次 timer 執行時所擷取的圖)

扔到另一個 bitmap B 裡

再將新擷取到的影像扔到 bitmap A 裡

因此你就能同時保有這兩次 timer 執行時所擷取的圖


不知道這樣的回答有無回應你的問題

我目前有初步完成一個臉部追蹤的專題

裡面有運用此方法擷取前後兩個時間點的影像

相減後來估測移動物體重心

你可以參考看看

http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=96195
編輯記錄
liangchh 重新編輯於 2008-11-28 17:46:22, 註解 無‧
istillloving
高階會員


發表:33
回覆:182
積分:183
註冊:2008-10-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-11-28 21:40:39 IP:218.172.xxx.xxx 訂閱
其實我的作業也是有做這個呢

只不過我的是拿一段影片 然後切成很多斷圖檔 每秒29張下去切

然後就依照檔名下去開前後張

但是我不會開串流的 幫不上忙抱歉了.....
------
恩...
happy260000
一般會員


發表:4
回覆:4
積分:1
註冊:2008-11-22

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-11-28 22:28:25 IP:218.211.xxx.xxx 訂閱
謝謝,我成功了 ^^

真感謝你,希望以後有機會,可以再討論。
系統時間:2024-04-19 13:22:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!