How to reduce size of 2D image ?

3 visualizaciones (últimos 30 días)
judy  frost
judy frost el 28 de Nov. de 2012
I have to compress 2D NxN image by taking the fourier transform first, then in the frequency domain I have used high pass filtering and took the inverse fourier transform back. This method has worked in (.tiff,.jpg .png)and the size has reduced. I want to make the method work also for .ppm format but it does not work. I did not understand why it did not work and how can I make it work? Thank you.
  3 comentarios
judy  frost
judy frost el 28 de Nov. de 2012
Editada: judy frost el 28 de Nov. de 2012
g = im2double(rgb2gray(image));
F = fft2(g);
A = lowpass(3,size(F,1),size(F,2),10,1); Gaussian lowpass
A = A-1;
B = A.*F;
res = ifft2(B);
imwrite(res,'a.ppm');
Does not work with ppm but works with others.
Walter Roberson
Walter Roberson el 28 de Nov. de 2012
What datatype do you end up with?
Note: "image" is a built-in MATLAB graphics routine; you should avoid calling a variable by the same name.

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 28 de Nov. de 2012
Your routine did no compression at all. The compression was done by the saving routine because of the format you chose. When you got rid of high frequencies, it made the saving routine able to compress more IF the format is to be compressed at all. Here's what Wikipedia says about PPM:
"The PPM format is not compressed, and thus requires more space and bandwidth than a compressed format would require. For example, the above 192x128 PNG image has a file size of 166 bytes. When converted to a 192x128 PPM image, the file size is 73,848 bytes. The PPM format is generally an intermediate format used for image work before converting to a more efficient format, for example the PNG (Portable Network Graphics) format, without any loss of information in the intermediate step."
That is why you didn't see any change. Why do you want that format anyway? I see the world moving towards PNG, and for good reason - it's a lossless compressed image that virtually every program can read.

Categorías

Más información sobre Images en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by