用Python代码演示卷积和互相关
时间: 2023-03-13 15:16:33 浏览: 75
我可以用下面的Python代码来演示卷积和互相关:import numpy as np# 定义卷积模板
kernel = np.array([[1, 0, -1],
[2, 0, -2],
[1, 0, -1]])# 定义输入数据
input_data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])# 使用卷积模板处理输入数据
conv_data = np.zeros_like(input_data)
for r in range(input_data.shape[0] - kernel.shape[0] + 1):
for c in range(input_data.shape[1] - kernel.shape[1] + 1):
x = input_data[r:r + kernel.shape[0], c:c + kernel.shape[1]]
conv_data[r, c] = np.sum(x * kernel)# 打印卷积处理结果
print(conv_data)# 定义输入数据
input_data2 = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])# 使用互相关模板处理输入数据
corr_data = np.zeros_like(input_data2)
for r in range(input_data2.shape[0] - kernel.shape[0] + 1):
for c in range(input_data2.shape[1] - kernel.shape[1] + 1):
x = input_data2[r:r + kernel.shape[0], c:c + kernel.shape[1]]
corr_data[r, c] = np.sum(x * np.flip(kernel))# 打印互相关处理结果
print(corr_data)