MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Displaying the image of wavedec2

Asked by FIR on 24 Dec 2012
Latest activity Answered by Regan Dhakshnamurthy on 30 Jan 2014

I have code

` X=imread('cameraman.tif')`

[C,S] = wavedec2(X,2,'haar');

for 2 level decomposition please tell how to display image in a single window,subplot must not be used

## Products

No products are associated with this question.

Answer by Walter Roberson on 24 Dec 2012

Have you read the documentation for image() recently ?

FIR on 24 Dec 2012

yes image(C)or S is giving a straight line

Walter Roberson on 24 Dec 2012

You indicated that you must display the images in a single window and that subplot must not be used. There is a way to position images in an axes; examine the possible input arguments for image() for details.

Answer by Wayne King on 24 Dec 2012
Edited by Wayne King on 24 Dec 2012

You have to select the particular coefficients you want from the wavedec2 output vector. You can use detcoef2 for that.

For example, to view the diagonal details, HH, at level two

```    X = imread('cameraman.tif');
[C,S] = wavedec2(X,2,'haar');
[H,V,D] = detcoef2('all',C,S,2);
imagesc(D); colormap gray```

appcoef2() gives you the scaling coefficients

## 1 Comment

Answer by Wayne King on 24 Dec 2012

Then you can simply do:

```     X = imread('cameraman.tif');
[C,S] = wavedec2(X,2,'haar');
A2 = appcoef2(C,S,'haar',2);
[H1,V1,D1] = detcoef2('all',C,S,1);
[H2,V2,D2] = detcoef2('all',C,S,2);```

Now you have all the images in your plot.

`    imagesc(A2); colormap gray;`

gives you the image in the upper left corner and you have the 6 detail images. H1,V1,and D1 for level 1 and H2,V2, and D2 for level 2.