| Signal Processing Toolbox | ![]() |
表示
C=conv2(A,B) C=conv2(A,B,'shape')
詳細
C は、行列 = conv2(A,B)
Aと行列Bの2次元コンボリューションを計算します。これらの行列の一方が2次元FIRフィルタを記述している場合には、もう一方の行列が2次元フィルタ処理されます。
出力行列Cの各次元は、入力行列の対応する次元の和から1を引いた大きさになります。[ma,na] = size(A)かつ[mb,nb] = size(B)の場合、
size(C) = [ma+mb-1,na+nb-1]
となります。
C は、2次元コンボリューションの中から = conv2(A,B,'shape')
shapeで設定した部分を取り出します。ここで、
full:2次元コンボリューションのすべての結果を出力します(デフォルト)。 same:コンボリューションの結果から中心部をAと同じ大きさになるように出力します。 valid:エッジにゼロを加えないで、コンボリューション計算を行なった部分を取り除いて、出力されます。このオプションを使用すると、size(A) > size(B)の場合、size(C) = [ma-mb+1,na-nb+1]となります。 conv2は、size(A) > size(B)のとき、実行速度が速くなります。
関数conv2 は、MATLABの基本モジュールに含まれています。
例題
イメージ処理において、Sobelエッジ検出演算は入力配列と特別に設定した行列Sとの2次元コンボリューションです。
s = [1 2 1; 0 0 0; -1 -2 -1];
任意のイメージIが与えられると、つぎのステートメントにより水平エッジを抽出します。
h = conv2(I,s);
つぎのステートメントにより、まず垂直エッジを抽出し、つぎに水平エッジと垂直エッジを合成します。
v=conv2(I,s'); v2=(sqrt(h.^2 + v.^2))
参考
|
コンボリューションおよび多項式乗算 |
|
N次元コンボリューション(MATLAB Function Referenceを参照) |
|
デコンボリューションおよび多項式除算 |
|
2次元ディジタルフィルタリング |
|
相互相関関数の推定 |
|
2次元相互相関 |
| conv | convmtx | ![]() |