CG:SKEELOGY
CG:SKEELOGY
CATEGORIES
   REELS
       + demo reels (2)
   PROJECTS
       + games (4)
       + VFX & animations (4)
   PROGRAMMING
       + simulations (8)
       + computer vision (4)
       + rigging & deformation (4)
       + computer graphics (3)
       + artificial intelligence (2)
       + game technologies (2)
   CG
       + rigs (7)
       + models (7)
       + effects & simulations (3)
   TUTORIALS
       + physics simulation (1)
   ME
       + honours & awards (8)
       + events (7)
       + updates (3)
FEATURED PROJECTS
Soft Body Tutorial: Program soft bodies in XNA!
Cloud Guardian: Shape the Orb to fix clouds!
Muskeelar: Muscle system for games
LATEST UPDATES
  + Now On Twitter   + CG:Skeelogy v1.1: The Web 2.0 Version   + Best Physics Knowledge Base Entry In Intel Havok Physics Contest!   + Community Voting Prize In Intel Havok Physics Contest   + Working at Double Negative in London
TAGS
ARCHIVES
 
 
 
CURRENTLY VIEWING
SVD IMAGE COMPRESSION
Image compression using Singular Value Decomposition
DATE
TYPE
EFFORT
Sep 2007
Image Compression
Solo
SVD Image Compression
@ programming > computer vision
SECTION MENU
     + Face Image Relighting
     + Photo Stitching
     + SVD Image Compression
     + Image Morphing

This is a simple MATLAB script which uses Singular Value Decomposition (SVD) to compress images. SVD can be used to provide the best lower-rank approximation to a matrix M, and thus be used for image compression. The idea is to use only the first k singular values/vectors of M so they form a lower-ranked matrix which is a good approximation to the original matrix M. This is usually fine because the lower singular values/vectors are small and can be sacrificed to reduce amount of data needed for representation. For a m x n matrix, we can actually store only (m+n+1 n)*k numbers which can be much smaller than the original mn numbers.

As can be seen below, the SVD compression brings about little visible loss in quality when suitable values of k are chosen..

2D morphing from cat to dog (and back)
Compression with k = 20 produces small file but has visible artifacts

2D morphing from cat to dog (and back)
Compression with k = 100 produces a compressed file without much visible artifacts

It is possible to choose k such that the “compressed image” ends up with a larger file size, which defeats the purpose of this technique. This implies that k must be chosen with k with care.

  • Share/Save/Bookmark
Tags: , , ,

Related posts


Leave a comment:


Allows tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 
CG:SKEELOGY
ABOUT ME
I have experience with physics simulation programming, character rigging and R&D on anatomical and deformable models. In my free time, I work on small personal projects such as casual games and tools development.
I am currently working at Double Negative Visual Effects in London.
MY OTHER SITES
SUBSCRIBE TO SITE
SHARE THIS SITE
Copyright © 2003-2010.
All works are original ones by Skeel, unless otherwise stated.