SVD and image compression for Matlab

Click For Summary
SUMMARY

This discussion focuses on using Singular Value Decomposition (SVD) for image compression in MATLAB, specifically for color images. The common approach involves converting color images to grayscale using the rgb2gray() function, as SVD operates on single-value matrices rather than RGB triplets. The MATLAB documentation confirms that rgb2gray(RGB) effectively converts truecolor images to grayscale by preserving luminance while discarding hue and saturation. Users with the Parallel Computing Toolbox™ can leverage GPU acceleration for this conversion.

PREREQUISITES
  • Familiarity with MATLAB programming environment
  • Understanding of Singular Value Decomposition (SVD)
  • Knowledge of image processing concepts
  • Experience with MATLAB functions such as rgb2gray()
NEXT STEPS
  • Research advanced image compression techniques using SVD in MATLAB
  • Explore the capabilities of the Parallel Computing Toolbox™ for image processing
  • Learn about color space transformations and their impact on image quality
  • Investigate methods for merging compressed color layers in MATLAB
USEFUL FOR

This discussion is beneficial for image processing engineers, MATLAB developers, and anyone interested in optimizing image compression techniques using SVD for color images.

matqkks
Messages
282
Reaction score
6
Are there any resources which use Matlab to image compress a colour image using SVD? I can only find information where I need to convert to gray scale first.
 
Physics news on Phys.org
Here's what MATLAB says about the conversion:

https://www.mathworks.com/help/matlab/math/image-compression-with-low-rank-svd.html

In their example, they also do the image to grayscale conversion via rgb2gray() after reading in the image. I'm thinking that has to be done because the SVD algorithm won't work with colors which are represented as triplets as in (R,G,B) formulation whereas a grayscale is a single value for each pixel.

According the MATLAB:
the rgb2gray(RGB) converts the truecolor image RGB to the grayscale image I. The rgb2gray function converts RGB images to grayscale by eliminating the hue and saturation information while retaining the luminance. If you have Parallel Computing Toolbox™ installed, rgb2gray can perform this conversion on a GPU.
 
  • Like
Likes   Reactions: Greg Bernhardt
If you have Image Processing software that can save the colors indiviually to separate files that could be a solution. Merging the compressed color layers back to something usable may not be possible though.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
6
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 32 ·
2
Replies
32
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
13
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K