#memo

indiedev太郎

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));

https://i.gyazo.com/01f3f414d507fc6ca896fa0a8dd9824f.png

ベクトルの変換が面倒くさいので、現段階で合成を行ってみる、カメラは上下にブレさせる

https://i.gyazo.com/e309f00e965f92a127057743c5260f5b.png
左がSrc1, これをぶらしてSrc2は何もいじらずにかぶせたのが右(このあとUE4が落ちる)

https://i.gyazo.com/4c936f049120832252e9f2e6be5f0ba2.png
ソース画像どちらともフィルタをかけたもの、一様に50pixelブラしているのでそこをちゃんとすればよさげな気配はある(このあとUE4が落ちる)

続き
UE4でカメラ実装: シャッタースピードの実装3 - #memo