if I dct a gray image and then Idct, isnt it should be the original gray image?
1 view (last 30 days)
Show older comments
A=imread('yachae.jpg');
B=rgb2gray(A);
DCTB=dct2(B);
IDCTB=idct2(DCTB);
imshow(IDCTB);
isnt it should be the original image if I dct a gray image and idct back?
but the result is a white image...where should i fix?
0 Comments
Answers (1)
Walter Roberson
on 23 Nov 2019
No, it should not be the same. You are not doing an integer transform, so you are taking in a integer image and outputing a floating point result that is in approximately the same value range but is double precision instead of integer data type. imshow() applied to a double precision matrix assumes that the data is in the range 0 to 1 and that anything outside that range should saturate to the boundary.
Try
imshow(IDCTB, [])
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!