How to obtain the DCT ( discrete cosine transform )?

3 views (last 30 days)
I want to btain the DCT on kids.tif image but I have these errors, What should I have do ?
RGB = imread ('kids.tif');
I = rgb2gray(RGB);
J= dct2 (I);
%taking logarithm
imshow (log(abs(J)),[]), colormap(jet(64)), colorbar
Now set values smaller than 10 in dct matrix to 0 and reconstruct the image using idct.
J(abs(J)<10) = 0;
K = idct2(J)/255;
imshow(K);
Error using rgb2gray>parse_inputs (line 81)
MAP must be a m x 3 array.
Error in rgb2gray (line 35)
X = parse_inputs(varargin{:});
Error using rgb2gray>parse_inputs (line 81)
MAP must be a m x 3 array.
Error in rgb2gray (line 35)
X = parse_inputs(varargin{:});

Accepted Answer

Dishant Arora
Dishant Arora on 13 Feb 2014
Edited: Dishant Arora on 13 Feb 2014
The image must be an indexed image not a RGB image. You shall use ind2gray.
[I, map]=imread('kids.tif');
I1=ind2gray(I,map);

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!