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()
python 图像卷积 【公开代码】
最新推荐文章于 2024-05-16 11:09:42 发布