clc;
clearvars;
close all;
img = imread('D:/picture/lena.jpg');
img = rgb2gray(img);
[M N] = size(img);
% automatic downsampling
f = max(1,round(min(M,N)/256));
lpf = ones(f,f);
lpf = (1./(f*f))*lpf;
img2 = imfilter(img,lpf,'symmetric','same');
img3 = img2(1:f:end,1:f:end);
img1 = img(1:f:end,1:f:end);
figure, imshow(img1); title('downsampling');
figure, imshow(img3); title('downsampling after averaging filter');
上图是直接从原始图像中抽样,最终获得下采样图像。
上图是直接先对原始图像进行均值滤波,然后对均值滤波后的图像进中抽样,最终获得下采样图像