Using Singular Value Decomposition (SVD): Excel/VBA application that reads a BMP file and compresses it in a lossy way
(See the post on SVD
for keywords.) This application begins by
reading a BMP file – BMP format is chosen as pictures therein are stored in a
raw format, pixel by pixel, with no transformation undertaken –, and then displaying
the picture in Excel with each cell being shaded respectively.
Next, SVD is
undertaken (once again using Excel add-in MATRIX 2.3 - Matrix and Linear
Algebra functions for EXCEL that is freely downloadable). Analysis of resultant eigenvalues
shows that over 80% of the information is contained in the first 41
eigenvectors. Whereas the initial picture had information worth of
154*181=27874 bytes, the first 41 vectors of Q1 and Q2
and the first 41 eigenvalues are contained in 154*41+181*41+41*41=15416 bytes,
resulting in 44,6% compression. The quality you can judge for yourselves :). The
picture has thus been compressed in a lossy way; additionally the method could be
used for transferring the picture over a network, peel by peel, until the final
fine-grained view is obtained.
1 comment:
Hi Jaan, please upload the file, link is broken svdANDimportbmp.xls
Post a Comment