Downsample for 3 different scales

조회 수: 12 (최근 30일)
Christina Chatzianagnostou
Christina Chatzianagnostou 2021년 10월 30일
답변: Dave B 2021년 10월 30일
Hey, I want to downsample for 3 different scales as described below:
1/2 in the rows and 1/4 in the columns
1/4 in the rows and 1/2 in the columns
1/8 in rows and 1/8 in columns
How can I use the imresize function? For example:
downNearest=imresize(img, 1/2, 1/4, ....)

답변 (1개)

Dave B
Dave B 2021년 10월 30일
To use imresize with uneven width and height specify the target number of rows and columns:
im=imread('peppers.png');
nr = height(im);
nc = width(im);
im_2_4=imresize(im,[nr/2 nc/4]);
im_4_2=imresize(im,[nr/4 nc/2]);
im_8_8=imresize(im,[nr/8 nc/8]); % or imresize(im,1/8);
size(im)
ans = 1×3
384 512 3
size(im_2_4)
ans = 1×3
192 128 3
size(im_4_2)
ans = 1×3
96 256 3
size(im_8_8)
ans = 1×3
48 64 3
If you want to use nearest neighbor interpolation when resizing, simply append nearest to the command as follows:
imresize(im,[nr/2 nc/4],'nearest');

카테고리

Help CenterFile Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by