how i can do sub-sampling for an image with factor 4

11 views (last 30 days)
to perform sub-sampling using matlab

Accepted Answer

Youssef  Khmou
Youssef Khmou on 26 Feb 2013
Edited: Youssef Khmou on 26 Feb 2013
hi ,
you can use the function " downsample" twice ,
example :
I=imread('circuit.tif');
J=downsample(I,4);
J=downsample(J',4)';
whos I J
imshow(J)
figure, imshow(I)
Size(I)= 4² * Size(J) .
  2 Comments
Wayne King
Wayne King on 26 Feb 2013
Edited: Wayne King on 26 Feb 2013
keep in mind that downsample() in the Signal Processing Toolbox only downsamples the matrix along the row dimension.
Youssef  Khmou
Youssef Khmou on 26 Feb 2013
yes Wayne, thanks for reminding , i edited the code .

Sign in to comment.

More Answers (1)

Wayne King
Wayne King on 26 Feb 2013
Do you want to downsample along the row dimension, along the column dimension, or both?
X = randn(24,24);
% Along row only
Im = X(1:4:end,:);
% Along column dim only
Im = X(:,1:4:end);
% Along both
Im = X(1:4:end,1:4:end);
Keep in mind that the above gives only one "phase" of the downsampling. When downsampling by M, there are M such phases. To see an illustration of this for a 1-D signal, see

Community Treasure Hunt

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

Start Hunting!