averaging a column in a image matlab

1 view (last 30 days)
hasan alhussaini
hasan alhussaini on 8 Sep 2017
Answered: Image Analyst on 8 Sep 2017
i'm getting an artefact in my image its going down, is there away to get rid of it?
i was thinking maybe use the column on the left and right to average it out?

Answers (2)

KSSV on 8 Sep 2017
Edited: KSSV on 8 Sep 2017
As you know the index..you eliminate that particular column from the image.
I(:,1366) = [] ;
And then use imshow on I.

Image Analyst
Image Analyst on 8 Sep 2017
Use a tophat filter, imtophat(). then threshold that and use it as a mask to replace it with the eroded image (local min). Something like (untested)
badPixels = imtophat(grayImage, ones(1, 3));
mask = badPixels > 4; % or whatever number works.
erodedImage = imerode(grayImage, ones(1,3)); % Get local min value.
grayImage(mask) = erodedImage(mask);

Community Treasure Hunt

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

Start Hunting!

Translated by