function imout = haardecomp(im) subimLL = (im(1:2:end,1:2:end) + im(2:2:end,1:2:end) + im(1:2:end,2:2:end) + im(2:2:end,2:2:end)); subimHL = (im(1:2:end,1:2:end) - im(2:2:end,1:2:end) + im(1:2:end,2:2:end) - im(2:2:end,2:2:end)); subimLH = (im(1:2:end,1:2:end) + im(2:2:end,1:2:end) - im(1:2:end,2:2:end) - im(2:2:end,2:2:end)); subimHH = (im(1:2:end,1:2:end) - im(2:2:end,1:2:end) - im(1:2:end,2:2:end) + im(2:2:end,2:2:end)); imout = [subimLL subimLH; subimHL subimHH];