MATLAB Function Reference    
conv2

2次元のコンボリューション

表示

詳細

C = conv2(A,B) は、行列 A B の 2次元のコンボリューションを計算します。これらの内の 1 つの行列が 2次元 FIR フィルタを記述しているならば、もう一方の行列は、2次元でフィルタリングされます。

各次元でのC のサイズは、入力行列の対応する次元の和から 1 を引いたものと等しくなります。Aのサイズが [ma,na]で、B のサイズが[mb,nb] の場合、C のサイズは [ma+mb-1,na+nb-1]です。

C = conv2(hcol,hrow,A) は、hcol を使って列方向に、hrow を使って行方向に、別々に A のコンボリューションを行います。hcolhrow は、ベクトルです。

C = conv2(...,'shape') は、以下の shapeパラメータで指定されるように 2次元コンボリューションのサブセクションを出力します。

full
完全な 2次元コンボリューションを出力します(デフォルト)。
same
A と同じサイズで中央部分のコンボリューションを出力します。
valid
エッジにゼロを加えずに計算されたコンボリューションの部分のみを出力します。このオプションを使うと、size(A) > size(B)のとき、C のサイズは [ma- mb+1,na-nb+1] です。

例題

イメージ処理では、Sobel エッジを求める演算は、つぎの特殊行列を使った入力配列の 2 次元コンボリューションです。

つぎのコマンドは、台座から水平方向のエッジを取り除きます。

つぎのコマンドは、最初に A の垂直方向のエッジを表示し、つぎに水平方向と垂直方向のエッジを表示します。

参考

conv, convn, filter2

Signal Processing Toolbox の xcorr2


 conv convhull