Wavelet and image processing

5 views (last 30 days)
Ayesha
Ayesha on 17 Jan 2014
Commented: Walter Roberson on 24 Jan 2017
Hi there!
Alright, so I've been working on this little piece of code to approximate image using wavelets and there's this error I'm getting:
Subscripted assignment dimension mismatch.
So the code goes this way:
I = imread('lena.png');
J = perform_wavelet_transf(I,j0,+1);
n = size(I,1);
J1 = zeros(n);
J1(1:n/4,1:n/4) = J(1:m,1:m);
result = perform_wavelet_transf(J1,j0,-1);
imshow(result,[]);
I've been wondering since hours on what could possibly go wrong with this piece and I guess somethings not right with
J1(1:n/4,1:n/4) = J(1:m,1:m);
What do you think?
And yes, Thanks alot!!! for your help in advance :)
  2 Comments
Walter Roberson
Walter Roberson on 17 Jan 2014
Which line is the error occurring on?
Ayesha
Ayesha on 17 Jan 2014
The fifth line:
J1(1:n/4,1:n/4) = J(1:m,1:m);

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 17 Jan 2014
You have not shown us how you construct "m" so all we can do is hypothesize that you construct it without regard for the actual size of lena.png
  2 Comments
Ayesha
Ayesha on 17 Jan 2014
That's the part I'm experimenting since wavelets deals with coarse details and hence j0 is an integer.
j0=128;
M = 2^(-j0);
m=sqrt(M);
Walter Roberson
Walter Roberson on 24 Jan 2017
sqrt(2^-128) is 2^-64, which is a number less than 1. 1:m would then be the empty range, so J(1:m,1:m) would be empty. You are trying to store that empty range into a non-empty location.

Sign in to comment.

Categories

Find more on AI for Signals and Images in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!