方法1:先高斯滤波,再降采样
im = imread( 'image_0004.jpg' );
if ndims( im ) == 3
im = rgb2gray( im );
end
% generate a Gaussian kernel
ker = fspecial( 'gaussian', 3, 0.5 );
im = imfilter( im, ker, 'conv', 'symmetric', 'same' );
[im_h, im_w] = size( im );
% image down sampling
im2 = im( 1 : 2 : im_h, 1 : 2 : im_w );
figure, imshow( im ); title( 'original image' );
figure, imshow( im2 ); title( 'resampled image' );
方法2:直接利用matlab提供的video.Pyramid类实现
pyr = video.Pyramid;
pyr.PyramidLevel = 3;
im3 = step( pyr, im );
figure, imshow(mat2gray(double(im3)));