MATLAB: Average of tiles in an image

average of imageImage Processing Toolbox

0 down vote favorite
I have an image which is 256X256 pixels and that image 'a' has 16 '16X16' pixels similar tiles(random noise distributed over the image). I want to take the average of each tile and replace it with the first tile and then display the result.
I used the following code
im = imread('tiles.tif')
a = blockproc(im, [16 16], @(x)mean(x.data(:)));% this
imshow(im,[]);
I thought it worked but it is displaying the same original image. can someone please tell me what is wrong or what am I missing?Thanks

Best Answer

You never display the result - the badly-named "a". Try this
subplot(1, 2, 1);
imshow(im, []);
subplot(1, 2, 2);
imshow(a, []); % Pick a better name than "a"
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);