import numpy as np
import matplotlib.pyplot as pt
from PIL import Image
rgb_img = np.array(Image.open("andreas.jpeg").resize((500,500)))
rgb_img.shape
img = sum(rgb_img, axis=-1)
imshow(img, cmap="gray")
u, sigma, vt = svd(img)
sigma
pt.plot(sigma)
reduced_sigma = sigma.copy()
reduced_sigma[10:] = 0
imshow(np.dot(np.dot(u,np.diag(reduced_sigma)),vt), cmap="gray")