I created a function that basically receives an image as parameter and apply the discrete 2D wavelet transform using only the LL (cA) result and then apply the inverse discrete 2D wavelet transform to get the original size of the image:
function newImage = discWaveletTransform2D(img, level, wname)
[img,LH,HL,HH] = dwt2(img, wname)
img = idwt2(img,,,, wname)
newImage = img
I call the function using these commands:
img = imread('C:\MyImage.png')
img = discWaveletTransform2D(img, 2, 'db2')
If I test the function using the clown image provided by matlab, I can get the following result:
img = discWaveletTransform2D(X, 2, 'db2')
But, if I try to use another image, for example, this one:
I get the following result:
Is it normal?
Can someone explain to me why this is happening?
Can I do something to get a better representation of the original image?
Thanks in advance