from imageio import imread from matplotlib import pyplot as plt import numpy as np def Convolutional(raw_img, kernel): img = np.zeros((raw_img.shape[0], raw_img.shape[1],raw_img.shape[2])).astype(np.uint8) for c in range(raw_img.shape[2]): for x in range(1, raw_img.shape[0] - 1): for y in range(1, raw_img.shape[1] - 1): a = np.zeros([3, 3]).astype(np.uint8) for i in range(kernel.shape[0]): # 012 for j in range(kernel.shape[1]): a[i, j] = kernel[i, j] * raw_img[x - 1 + i, y - 1 + j, c] img[x, y, c] = np.sum(a) return img print('Raw input image.') raw_img = np.array(imread('C:/Users/yangy/Desktop/闲鱼_卷积/parking.jpg')) plt.subplot(1,2,1) plt.imshow(raw_img) kernel=np.array([[1,1,1], [1,1,1], [1,1,1]])/9 raw_img2=Convolutional(raw_img,kernel) plt.subplot(1,2,2) plt.imshow(raw_img2) plt.suptitle('1') plt.show()