summaryrefslogtreecommitdiff
path: root/doc/source/user/plot_final.py
blob: 10cb097dd97e73d9371707155b4f547078976416 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from scipy import misc
import matplotlib.pyplot as plt
import numpy as np
from numpy import linalg

img = misc.face()
img_array = img / 255
img_array_transposed = np.transpose(img_array, (2, 0, 1))

U, s, Vt = linalg.svd(img_array_transposed)

Sigma = np.zeros((3, 768, 1024))
for j in range(3):
    np.fill_diagonal(Sigma[j, :, :], s[j, :])

k = 10

approx_img = U @ Sigma[..., :k] @ Vt[..., :k, :]
plt.imshow(np.transpose(approx_img, (1, 2, 0)))