MATLABのfilter2/conv2関数のPythonにおける同等の関数
Pythonでは、filter2やconv2のMATLAB関数の機能を、SciPyライブラリのconvolve2d関数を使って実現できます。以下にサンプルコードを示します。
import numpy as np
from scipy.signal import convolve2d
def filter2(mat, kernel):
return convolve2d(mat, kernel, mode='same')
# 示例用法
mat = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
kernel = np.array([[1, 0, -1],
[2, 0, -2],
[1, 0, -1]])
result = filter2(mat, kernel)
print(result)
上記の例では、mat が入力行列、kernel が畳み込みカーネルです。 filter2 関数は、畳み込み後の結果を返します。 ‘same’ パラメータを使用すると、出力と入力行列のサイズを同じにすることができます。これは MATLAB の filter2 関数のデフォルトの動作に対応しています。