Wavelet and image processing

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

Which line is the error occurring on?
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

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);
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.

Products

Asked:

on 17 Jan 2014

Commented:

on 24 Jan 2017

Community Treasure Hunt

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

Start Hunting!