图像的金字塔表示(MATLAB)

方法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))); 



你可能感兴趣的:(matlab,im,image)