MatLabのimfilter関数について.
オプションの値がよく分からなかったのでMatLabのヘルプから抜粋してみた.
AをHでフィルタリングした結果をBに格納
B = imfilter(A,H)
B = imfilter(A,H,option1,option2,...)
Optionについて
- correlation or convolution
- 'corr'
相関(correlation)を計算.
デフォルトなので,特に指定しない場合,'corr'が計算される. - 'conv'
重畳積分(convolution)を計算.
画像処理のfilteringなら,こちらの方が一般的な気がするけど・・・
- 'corr'
- 境界条件
配列の範囲外の入力配列値の設定.- X
指定した値Xにする.
指定がない場合,X=0となる(0パディング). - 'symmetric'
配列の境界を中心に配列の鏡像を使う. - 'replicate'
最近傍の配列境界値を使う.
一般的な画像処理のfilteringはこれかなぁ. - 'circular'
配列は周期性を持つと仮定する.
- X
- 出力サイズ
出力(B)のサイズ- 'same'
入力配列(A)と同じサイズ.
デフォルト. - 'full'
AとHのサイズで決定.
入力配列(A)より大きくなる.
- 'same'
デフォルトが相関(correlation)だったりするので,convolutionをしたい場合は,conv2を使った方が良いような気がする.