MATLAB: How to subtract small window from an image by shifting pixel by pixel

convolutionimage enhancementmaskMATLABsubtraction

I want to take small window from image and subtract that small window from whole image by shifting pixels by pixels. like for example I have 10×10 pixel image and I select a 3×3 pixels window from that image and subtract that 3×3 pixels image from whole 10×10 pixel image by shifting that mask window on whole image. Screenshot_1.jpg

Best Answer

  • Hi,
    inp_img = double(imread('cameraman.tif'));
    figure
    subplot(1,2,1);
    imshow(inp_img,[]);
    sub_mask_window = [14 25 16; 6 32 24; 35 13 44]; % creating mask window
    for i = 1 : 2 : size(inp_img,1) - 2
    for j = 1 : 2 : size(inp_img,2) - 2
    subtract_img(i : i + 2, j : j + 2) = inp_img(i : i + 2, j : j + 2)...
    - sub_mask_window; % subtracting mask window with image
    end
    end
    subplot(1,2,2);
    imshow(subtract_img)