MATLAB: How to remove grid lines from a JPEG image using Image Processing Toolbox 6.2 (R2008b)

.jpgfiltergridlinegridlinesImage Processing Toolboxinterpolatejpeg

I have a grayscale JPEG image that is largely dark and contains thin gray grid lines. I would like to replace the pixels forming the grid with pixels that fit in with the rest of the image.

Best Answer

The following example code demonstrates one way to remove thin grid lines from an image using erosion and dilation and compares the original image with the processed image.
close all; clear all; clc;
% Create image with light gray grid lines
I = imread('snowflakes.png');
I(:,[100,200,300]) = uint8(200);
I([50,100],:) = uint8(200);
subplot(2,1,1);
imshow(I);
title('Original image');
% Morphologically open image
se = strel('square',2);
I2 = imopen(I,se);
subplot(2,1,2);
imshow(I2);
title('Morphologically opened image');