How to compress the image ?

31 views (last 30 days)
tabw
tabw on 29 Aug 2014
Answered: Yawar Rehman on 3 Sep 2014
for example, I have a 3D image in grayscale, 512X512X300.
I just want to compress it in X and Y plane.
I want 4 pixels to combine into one pixel.
And the value of the combined pixel takes average on that 4 pixels or take its max.
Can I directly do on 3D image? If not, please tell me how to do it on 2D image.
Thanks.

Answers (2)

Image Analyst
Image Analyst on 29 Aug 2014
Just save it as a .mat file. This is a proprietary binary format that will probably be fairly compressed, and anyway, it will make it convenient to read back in to MATLAB.
  6 Comments
tabw
tabw on 2 Sep 2014
I should state more clearly.
I want to compress the pixel size. maybe say in this way, I want to combine 4 pixels into 1 pixel because my image is too big.
Image Analyst
Image Analyst on 2 Sep 2014
Then use imresize().

Sign in to comment.


Yawar Rehman
Yawar Rehman on 3 Sep 2014
image analyst is rigth, i think you have a stack 300 gray scale images whose dimensions are 512x512.
compression usually involves techniques like principal components analysis. but from your question it is more evident that you want to downsample an image by the factor of 1/4 rather than compress. i think this would be useful!
% images you have
imgs = zeros(512,512,300);
% downsample by 1/4
downImages = imresize(imgs,1/4);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!