2017-10-20 14 views
0

非常に誇張されたぼかし効果を得るには、非常に高いカーネル(50以上)を使ってOpenCVを使用しています。 私はこれらの奇妙な線/領域のようなイメージを生成しています。下の画像の壁領域を参照してください。OpenCVぼかしのような線を作成する

これは、非常に高いカーネルサイズでぶれに固有のものですか? この効果を滑らかにして除去するには、どのような方法がありますか?

ofxCVアドオンでOpenFrameworksを使用しています。私のコードの関連部分が

だけ

blur(camScaled, 51); 
であるあなたが慣れていない場合 ofxCVは、基本的に最終的にはこの OpenCVコールへの架け橋とマップバックです。

CV_EXPORTS_W void blur(InputArray src, OutputArray dst, 
        Size ksize, Point anchor=Point(-1,-1), 
        int borderType=BORDER_DEFAULT); 

blured image

+0

入力画像はどのように見えますか?これは、RGBレイヤーのそれぞれを別々にぼかすという人工物だと思います。たぶん、HSVなどの色空間でこれをやってみてください。 –

+0

iPhoneのカメラから直接読み込んだフレームです。この図書館で私が見ていることから、このレベルのチャンネルが本当に分かれているわけではありません。 –

答えて

0

カーネルを介して画素値を平均化する手段をぼかすので、この効果はかなり正常です。

バイラテラルフィルタなどのエッジ保存フィルターを試してください。 "クラシック"ブラーを使用したい場合は、平均ボケの代わりに中央ブラーを試すことができます。これにより、少なくともより減衰した結果が得られます。

+0

はい、今私は同じ結論になり、中央値フィルタを使用しました。私はぼかし効果にのみ興味があるので、フィルタを行う前にわずかなざらつきノイズを加えると、この視覚効果が少なくなるかどうかは疑問です。 –

+0

メディアンフィルタは、このようなノイズを除去するために行われるため、同じ結果でノイズが除去されます。ノイズが広がるので最悪になります。 (受理されたP.S.マーク?) – Moia

関連する問題