How to understand SVD in image compressing?

In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complex matrix.  If you want to ask the physical meaning of the singular value, then we must consider the actual application of SVD.

Before we start, let’s review the SVD in two single slides, these slides only contain the most important parts that we care about, for further research, readers are suggested to find a math book!


First of all, let’s welcome the First Lady of image processing Lenna. Probably she is the most famous image (sorry, I mean woman 😛 ) in geeks’ world. As we all know, an image is actually a matrix. The size of the matrix is the pixel number. For example, this Lenna image is a 512×512 matrix. Let‘s denote this matrix as A.

Lenna.png (512×512)

Just like what we have learned from the slides, let’s see what the A1, A2, A200 and A512 look like and compare the results. For convenience, Itransfer the RGB image into Grayscale image for calculation.


It is not hard to see that on the right side, with higher value, the reconstructed image becomes much clearer. It feels like we gradually turn on the resolution of the screen.

Meanwhile, at the bottom of each image, I estimate the storage of each image, it reveals another function of SVD, compressing the image. As we see, A200 is almost the same with A, but cost less saving space.

In Data Mining and Machine Learning, SVD is also used to perform dimensionality reduction.  You could find more useful information in the following links.

The Code could be found on GitHub (:P Viewer discretion is advised :P).


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: