私はn次元ベクトル(1xnデータセットであり、画像データではありません)を持っています。それにガウスフィルタを適用したいと思います。私にはImage Processing Toolkitとその他のものがあります(リストが必要かどうか質問してください)。Matlabのベクトル上のガウスフィルタ
おそらく私は[1 n]
のようなfspecial
関数のhsize
パラメータを作ることができます。 imfilter
を使用して、それを次のステップとしてベクターに適用することができますか、それとも別のものを使用する必要がありますか?
私は、Matlabの2次元画像データにガウスフィルタを適用する方法の例をかなり見てきましたが、Matlabにはプラットフォームとして比較的新しいので、例が本当に良いでしょう。
注:現時点でMatlabがインストールされていないマシンでは何も起こらないのですが、そうでなければ最初に試してみましたが、問題に遭遇したかどうかを尋ねてきましたfspecial
およびimfilter
。
:このフィルタは対称であるので、あなたは
conv
代わりのfilter
を使用して非シフトされた出力を取得し、same
オプションを使用することができます既存の関数も同様に機能しますが、フィルタを自分で作成すると問題は解決します。ありがとう。ちなみに、サイズは一般的にシグマ値の6(プラスマイナス3)倍であると信じていますか? –これは本当にアプリケーションに依存しますが、フィルタを切り捨てることは重要な効果がありません(テールは+ - 無限に0になるので、有限の長さに切り捨てる必要がありますフィルタ)。そう、はい、各サイドに4つ以上のシグマを付けるとそれが保証されます。 –
もちろん、特にコストのかかるツールボックスの一部である場合は、独自の関数を記述する必要があります。あなたの会社や大学でMatlab Image Toolboxライセンスの数が有限であればどうなりますか?それは起こる! – Wok