UE4でカメラ実装: シャッタースピードの実装2
UE4でカメラ実装: シャッタースピードの実装 - #memo
続き、OpenCVでDirectionalBlurとかMotionBlurあれば楽なんだけど、画像加工する物ではないので自作しないといけない
ぼかし量だけど、撮影開始と撮影終了のカメラ方向のベクトルの差を渡すとして、ボケの距離と投影座標での方向がある
方向に応じて画像を回転させて、距離分のブラーをかけて元の角度に戻せば雰囲気は行けそう
ブラーはfilter2Dを使う、要素数がベクトルの距離だけある全部1のfloatの配列を生成して、これをカーネルにする
const int Length = 50; float data[Length]; for (int i = 0; i < Length; ++i) { data[i] = 1; } Mat kernel(Length, 1, CV_32F, data); normalize(kernel, kernel, 1.0, 0, CV_L1); filter2D(img, img, -1, kernel, Point(0, 0));
ベクトルの変換が面倒くさいので、現段階で合成を行ってみる、カメラは上下にブレさせる
左がSrc1, これをぶらしてSrc2は何もいじらずにかぶせたのが右(このあとUE4が落ちる)
ソース画像どちらともフィルタをかけたもの、一様に50pixelブラしているのでそこをちゃんとすればよさげな気配はある(このあとUE4が落ちる)