MATLAB: Problem in using IDWT2

digital image processingdigital signal processing

x=imread('lena.jpg');
sX=size(x);
[LL,LH,HL,HH]=dwt2(x,'haar');
y=idwt2(LL,LH,HL,HH,'haar',sX);
figure(1),imshow(x);
figure(2),imshow(y);
My Code is unable to retrieve original COLOR image after performing idwt2. It shows a white image with 2-5 spots on it.
PLS help.

Best Answer

The input image is of the type Unsigned Integer of 8 bits (uint8). The output image y is of the type double. So due to the difference in the data type you are not able to visualize them in the same way on the screen. Prefix the following code before imahow(y).
y = uint8(y);
The image will now be displayed perfectly