在Python中,可以使用SciPy庫的convolve2d
函數來實現MATLAB中filter2
或conv2
函數的功能。以下是一個示例代碼:
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
函數返回了卷積后的結果。可以通過mode='same'
參數來保持輸出與輸入矩陣的大小相同,與MATLAB的filter2
函數的默認行為相對應。