質問: ### 実現したいこと 2枚または複数の画像の前後関係から、最終的には物体の移動速度を算出できないものかなと思っています。 ###### 入力画像たち↓ ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/fea15bcd0ee0d9e58b44ab2ce6cab720.png) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/62cc63c1cb1caeb539e6995cdc825688.png) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/1098e013ccee0c6099bc4998ad0ce4be.png) 上から下に移動しているこの物体の速度を求めたいです。 イメージとしては、いま`cv2.findContour()`で境界検出ができている状態なので、 この輪郭線の移動pixel数を前後の画像から追うことはできないか?などと考えていますが、 具体的な手法が思いつきません。 ###### 実行環境 Windows10 Python3.6.5 openCV4.1.2 ### 解決方法について openCVを使用していますが、これだけにとらわれずに移動速度を算出する手法があれば取り入れたいです。 どなたかご存じの方いらっしゃいませんでしょうか。
回答: その物体(?)のどの部分を見て速度を推定すべきなのか?(どこを見るのが最も妥当なのか)は, あなたのやろうとしていること次第であるように思います. 形状の重心? 上側にやや凸な部分の突端? その他? いずれにしろ,各フレームでその位置の座標を求めればフレーム間の移動量が[pixel]の単位で得られるでしょうから, あとはフレーム間の時間間隔を用いて速度を求めればよいのではないかと. 求めたい速度が「等速なハズ」とか前もってわかっているなら,各フレーム間で求めた速度の平均なりを使っても良いのかもしれませんし,そこらへんは背景事情次第でしょう.