爲了找到連續的幀的運動的差異,我使用的幀的絕對差,然後總結所有的像素進行量化的量運動。我在OpenCV中做到了這一點。其在視頻計算幀運動的更好的辦法?
但最近,我知道非洲之角和崇德的光流法和基於宏塊的運動補償。 OpenCV庫已經有了可以計算它們的構建函數。但我不知道如何量化它們。他們比第一種方法更好嗎?
請幫忙!
爲了找到連續的幀的運動的差異,我使用的幀的絕對差,然後總結所有的像素進行量化的量運動。我在OpenCV中做到了這一點。其在視頻計算幀運動的更好的辦法?
但最近,我知道非洲之角和崇德的光流法和基於宏塊的運動補償。 OpenCV庫已經有了可以計算它們的構建函數。但我不知道如何量化它們。他們比第一種方法更好嗎?
請幫忙!
光流OpenCV中實現的方法是...
爲你的情況......因爲你正在做的幀運動計算...使用背景減法(幀分化..)作爲技術來啓動框架,從那裏你可以開始找到興趣點...當變化超過閾值開始獲取興趣點...跟蹤他們在下一個連續的幀,你可以做一個直方圖有多少興趣點已經下了多少位移在下一幀...多數民衆贊成我現在可以考慮的量化幀運動...
雖然我與特定的OpenCV實現一點經驗,我可以告訴你,光流通常不會嘗試量化運動量。可以定義基於該光流矢量(例如求和塊速度)的長度的輸出的度量,但是這是從您所使用的一個非常不同的度量。如果這對您有用,則取決於應用程序。爲了進行比較,可以考慮一個灰色物體在白色背景下移動,而黑色物體在白色背景下移動。您的幀差異度量會將黑色物體視爲更多的運動,而塊速度度量的總和會將其視爲大致相同的運動量。
最後,你還應該考慮你的方法的運行時間。差異圖像的交互複雜性非常低,可以在幾毫秒內估計。但是你無法確定物體的速度。例如搖動相機可能會造成問題。 不太快的是基於光流的方法,如金字塔Lucas Kanade或Horn Schunk方法,但您可以獲得每個像素(密集方法,如Horn Schunk)或一組預定義像素(稀疏方法,如金字塔Lucas Kanade)運動矢量。因此,您現在可以在不同的移動對象之間切換,或者只使用計算的運動矢量的長度。但運行時間大約是200毫秒到2秒,取決於參數,幀的大小和要計算的向量數等。
我正在研究視頻摘要。所以,我想測量運動量是很重要的。上述方法適合他們嗎? –