OpenCVで動画の手ぶれ補正

こちらのサイトに手振れ補正する理屈とOpenCVで書いたサンプルが載ってる。

Simple video stabilization using OpenCV

  1. オプティカルフローを用いて、前後フレーム間のトランスフォームを求める。
  2. トランスフォームは3つのパラメータ:dx, dy,da(角度)で構成され、基本的に剛体の剛性のユークリッド変換とし、スケーリングや共有は考慮しない。

  3. ブレの軌跡を得るために、各フレームのx, y, 角度のトランスフォームを保存する。
  4. 移動平均窓を使用して軌跡を滑らかにする。
  5. ユーザが平滑化に使用するフレーム数となる半径を指定する。

  6. 以下のように新しいトランスフォームを求める。
  7. 新しいトランスフォーム = 元のトランスフォーム + (平滑化した軌跡 – 元の軌跡)

  8. 動画に新しいトランスフォームを適用する。

サンプルコードもある。


スポンサーリンク


補正結果比較動画。


スポンサーリンク
Video stabilization using OpenCV #2

2019年1月 追記:Learn OpenCVでも手振れ補正のチュートリアルが公開されたぞ↓
https://www.learnopencv.com/video-stabilization-using-point-feature-matching-in-opencv/

Video Stabilization


スポンサーリンク

関連記事

WordPressの表示を高速化する
OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...
ベイズ推定とグラフィカルモデル
Deep Fluids:流体シミュレーションをディープラーニングで近似する
統計的な顔モデル
SDカードサイズのコンピューター『Intel Edison』
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
C#で使える機械学習ライブラリ『Accord.NET Framework』
機械学習のオープンソースソフトウェアフォーラム『mloss(machine learning ope...
オーバーロードとオーバーライド
ニューラルネットワークの構造を可視化するフレームワーク『TensorSpace.js』
Mayaのプラグイン開発
Adobeの手振れ補正機能『ワープスタビライザー』の秘密
iOSデバイスと接続して連携するガジェットの開発方法
オープンソースの物理ベースGIレンダラ『appleseed』
iPhoneアプリ開発 Xcode 5のお作法
C++の機械学習ライブラリ『Dlib』
Google App EngineでWordPress
OpenCVで平均顔を作るチュートリアル
書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
Facebookの顔認証技術『DeepFace』
チャットツール用bot開発フレームワーク『Hubot』
Faceshiftで表情をキャプチャしてBlender上でMakeHumanのメッシュを動かすデモ
3D復元技術の情報リンク集
Google Chromecast
オープンソースのStructure from Motionライブラリ『Theia』
OpenMayaRender
AmazonEC2のインスタンスをt1.microからt2.microへ移行する
WebGL開発に関する情報が充実してきている
3分の動画でプログラミングを学習できるサイト『ドットインストール』
UnityでTweenアニメーションを実装できる3種類の無料Asset
Mean Stack開発の最初の一歩
Kinect for Windows V2のプレオーダー開始
株式会社ヘキサドライブの研究室ページ
クリエイターのための機械学習ツール『Runway ML』
openMVGをWindows10 Visual Studio 2015環境でビルドする
CGAN (Conditional GAN):条件付き敵対的生成ネットワーク
プログラミングスキルとは何か?
池袋パルコで3Dのバーチャルフィッティング『ウェアラブル クロージング バイ アーバンリサーチ』
複数視点画像から3次元形状を復元するライブラリ『openMVG』
OpenCV3.3.0でsfmモジュールのビルドに成功!
オープンソースのStructure from Motionツール『Regard3D』

コメント