noise removal from image

1 view (last 30 days)
navin chandra
navin chandra on 14 Apr 2019
Edited: navin chandra on 18 Apr 2019
I have a series of 1000 images extracted from a video. There are horizontal bright and dark noises in each image. The position of these horizontal noises are different for different images. How to get rid of such kind of noise.

Accepted Answer

Akira Agata
Akira Agata on 15 Apr 2019
If the noise is exactly horizontal, one straight-forward solution would be like this:
% Read your image and convert it to gray-scale
I = imread('img.jpeg');
Igray = rgb2gray(I);
% Extract the target region
Igray = imcrop(Igray,[178 20 443 443]);
% Estimate line noise in horizontal direction
rowAvg = mean(double(Igray),2);
rowNoise = rowAvg - mean(rowAvg);
% Cancellation of noise
Igray2 = double(Igray) - rowNoise;
Igray2 = uint8(Igray2);
% Compare original and processed image
figure
subplot(1,2,1)
imshow(Igray)
title('Original image','FontSize',16)
subplot(1,2,2)
imshow(Igray2)
title('After processing','FontSize',16)

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!