CG:SKEELOGY
CG:SKEELOGY
CATEGORIES
   VFX / CG
       + effects & simulations (7)
       + models (6)
       + rigs (7)
   PHOTOGRAPHY
       + film/lens effects (3)
       + HDR (2)
       + lomo (1)
       + macro (2)
       + panorama (3)
       + pinhole (1)
       + stereo (3)
   PROGRAMMING
       + artificial intelligence (2)
       + computer graphics (3)
       + computer vision (4)
       + game technologies (2)
       + rigging & deformation (4)
       + simulations (8)
   PROJECTS
       + games (4)
       + VFX & animations (4)
   REELS
       + demo reels (4)
   TUTORIALS
       + physics simulation (1)
   ME
       + events (7)
       + honours & awards (8)
       + movie credits (6)
       + 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
  + Showreel 2011   + Shape Matching in Houdini   + Melt SOP using VOP/VEX   + FX Reel 2011   + Burning Poster
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
Houdini FX TD
Double Negative
I am a Technical Director with strong interests in both the tech and artistic side of things. My life evolves round visual effects, photography, software engineering, tools programming and generally anything that looks and sounds cool.
I have done a variety of CG programming previously, including fluid simulations, muscle systems, soft/rigid bodies, raytracing etc. These theoretical and programming knowledge complement the visual works that I do as a TD in the VFX industry.
MY OTHER SITES
SUBSCRIBE TO SITE
SHARE THIS SITE
Copyright © 2003-2012.
All works are original ones by Skeel, unless otherwise stated.