UpdateMotionHistory是指去掉影像(silhouette) 以更新運動歷史圖像。
基本介紹
- 中文名:無
- 外文名:UpdateMotionHistory
- 解釋:去掉影像以更新運動歷史圖像
- 類別:處理技術
函式形式,參數,說明,
函式形式
void cvUpdateMotionHistory( const CvArr* silhouette, CvArr* mhi, double timestamp, double duration );
參數
- silhouette :影像 mask,運動發生地方具有非零象素
- mhi :運動歷史圖像(單通道, 32-比特 浮點數),為本函式所更新
- timestamp :當前時間,毫秒或其它單位
- duration :運動跟蹤的最大持續時間,用 timestamp 一樣的時間單位
說明
函式 cvUpdateMotionHistory 用下面方式更新運動歷史圖像:
函式只是更新 像素點的運動歷史。也就說更新的不是圖像,而是對圖像中像素點運動情況的更新。
silhouette(x,y) !=0時,即該像素點發生運動,所以要對其進行更新,即mhi(x,y) = timestamp 表示運動發生的時刻
silhouette(x,y) =0時,即該像素點未發生運動,但還需檢測對該點的跟蹤時間是否超過了預設最大跟蹤時間,即判斷mhi(x,y)與timestamp -duration的大小。此時mhi(x,y)即為該點最近一次發生運動的時刻值,如其小於timestamp-duration,表示該點運動時刻已 經超出跟蹤時間,故可以捨棄。
而當mhi(x,y)大於或者等於timestamp-duration時,表示該點此刻雖未發生運動,但還在跟蹤時間內,所以不對該點發生運動的時間標記進行操作。
silhouette(x,y) !=0時,即該像素點發生運動,所以要對其進行更新,即mhi(x,y) = timestamp 表示運動發生的時刻
silhouette(x,y) =0時,即該像素點未發生運動,但還需檢測對該點的跟蹤時間是否超過了預設最大跟蹤時間,即判斷mhi(x,y)與timestamp -duration的大小。此時mhi(x,y)即為該點最近一次發生運動的時刻值,如其小於timestamp-duration,表示該點運動時刻已 經超出跟蹤時間,故可以捨棄。
而當mhi(x,y)大於或者等於timestamp-duration時,表示該點此刻雖未發生運動,但還在跟蹤時間內,所以不對該點發生運動的時間標記進行操作。