How to apply a quantization step to a 2D transformed image?

4 views (last 30 days)
Hi all of you, I need some help here, my problem is how can i use quantization to the result of that code below?,knowing that the result (XDFT) is complex arry, example: XDFT(1,1)=125+ i*2562. So how values like XDFT(1,1) will be on an interval between 0 and 255.
[filename, pathname] = uigetfile('*.bmp', 'open image');% getting a Bitmap image.
[X,MAP]=imread(fullfile(pathname, filename));%Image reading.
R=input('R=');%bloc size(8*8 or 16*16 or 32*32).
XDFT= blkproc(X,[R R],'fft2');%DFT Transformation of X.
  3 Comments
Matt J
Matt J on 5 Feb 2016
Edited: Matt J on 5 Feb 2016
You're welcome, but I hope you will also learn to do this.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 5 Feb 2016
Why not quantize the real and imaginary parts? Or, like in JPEG compression, why not use the DCT, instead of the DFT, so that the block spectra are real-valued?
  2 Comments
Said BOUREZG
Said BOUREZG on 6 Feb 2016
I don't have a problem with DCT or DWT, my problem with DFT coefficients if I separate real and imaginary parts and I quantize them, the compression of them can't give a good results.
Walter Roberson
Walter Roberson on 6 Feb 2016
Why is it not possible for the compression to give good results? If you keep 5 real components and 5 imaginary components, that is as good a compression as keeping 10 real components.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!