- WHY do you need to remove the lines? What is the use case and what are you going to do with or to the image after you get the lines removed?
- Which lines do you want to remove (there are lots of them)?
- Can you improve your image capture situation, like better optics, lighting, or geometry?
Info
This question is closed. Reopen it to edit or answer.
Remove noise lines from image
1 view (last 30 days)
Show older comments
I have 360x360 image I want to remove lines in it
half portion on it has noisy lines I am working on MATLAB
I tried median filter, bilateral filter but not working how to denoise this image and remove lines?
This has periodic lines
I used this :
CODE CREDITS : IMAGE ANALYST
figure(2);
%-----------------------------------------------------------------------------------------------------------------------------------
rgbImage = maxarray;
[rows, columns, numberOfColorChannels] = size(rgbImage);
% Display the test image full size.
subplot(2, 2, 1);
imshow(rgbImage,[]);
axis('on', 'image');
drawnow;
%hp = impixelinfo(); % Set up status line to see values when you mouse over the image.
b=max(rgbImage,[],3);
% How about you sum the image vertically to get a horizontal profile?
horizontalProfile = mean(b(:, :));
subplot(2, 2, [2, 4]);
figure(2);plot(horizontalProfile, 'b-');
grid on;
bottomEnvelope = movmin(horizontalProfile, 20);
upperEnvelope = movmax(horizontalProfile, 20);
deltaGL = mean(upperEnvelope(150:250) - bottomEnvelope(150:250))
hold on;
plot(bottomEnvelope, 'r-', 'LineWidth', 2);
plot(upperEnvelope, 'r-', 'LineWidth', 2);
midline = (bottomEnvelope + upperEnvelope) / 2;
plot(midline, 'm-', 'LineWidth', 2);
% Determine what rows are above the midline.
% Those are the columns that are 50 gray levels brighter.
columnsToDim = horizontalProfile > midline;
% Darken those columns in each color channel.
rgbImage(:, columnsToDim) = rgbImage(:, columnsToDim) - double(deltaGL);
% Reconstruct output image.
subplot(2, 2, 3);
imshow(rgbImage, []);
caption = sprintf('Corrected Image where %d was subtracted from the stripes.', deltaGL);
title(caption, 'FontSize', fontSize, 'Interpreter', 'None');
drawnow;
4 Comments
Answers (0)
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!