I am Charmie

メモとログ

MatLabのimfilter

MatLabのimfilter関数について.
オプションの値がよく分からなかったのでMatLabヘルプから抜粋してみた.
AをHでフィルタリングした結果をBに格納
B = imfilter(A,H)
B = imfilter(A,H,option1,option2,...)

Optionについて

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