動画内の物体の速度(m/s)を求めたい

11 views (last 30 days)
瑛大 山田
瑛大 山田 on 31 May 2022
Answered: Atsushi Ueno on 31 May 2022
動画内で左から右へ流動する流体の速度をMATLABを使用して求めたく, Farneback法を使用して移動するオプティカルフローを推定するオブジェクト(https://jp.mathworks.com/help/vision/ref/opticalflowfarneback.html)を参考にオプティカルフローのベクトルを可視化するところまでは成功しました。以下の写真のように表示された x軸方向の速度ベクトルの大きさをm/sに換算したいです。
このようなことは可能なのでしょうか?
初心者で無知な質問でしたら大変申し訳ありません。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 31 May 2022
下記が定かでないと物理的な物体の速度[m/s]も判りません
  • 長さの基準が必要です(画像の縮尺/パイプの外径/定規の目盛を共に撮影/など)
  • 動画の速さが必要です(Frame Per Sec、1秒間に何フレーム動くか)
  • 複数のベクトルをどう扱うか
長さの基準が判れば、ベクトルの大きさMagnitude[画素数?]に係数[m/画素数]を掛け、1フレーム差で進んだ距離[m]を得ます。
ベクトルの大きさが画素数であるとは何処にも書いてないので、この係数は実測で合わせ込む必要があるかもしれません。
動画の速さが判れば、1フレーム差で進んだ距離[m]に動画の速さ[frame/sec]を掛け、速さ[m/s]を得ます
複数のベクトルをどう扱うかは、全てのベクトルの速度を計算するなり、平均値をとるなり、方法を決める必要があります。

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!