
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
def blur(img):
    kernel = np.array([[1/9, 1/9, 1/9],
                       [1/9, 1/9, 1/9],
                       [1/9, 1/9, 1/9]])
    blur = np.ndarray(img.shape)
    for r in range(img.shape[0]-2):
        for c in range(img.shape[1]-2):
            blur[r+1,c+1] = np.sum(img[r:r+3, c:c+3] * kernel)
    return blur
def grayscale(image):
    return (image[:,:,0] + image[:,:,1] + image[:,:,2]) / 3
image = mpimg.imread('Dem_monument.png')
imggray = grayscale(image)
plt.subplot(1, 2, 1)
plt.imshow(imggray, cmap='gray')
plt.subplot(1, 2, 2)
blur_img = blur(imggray)
blur_img = blur(blur_img)
blur_img = blur(blur_img)

plt.imshow( blur_img, cmap='gray')
plt.show()
